From 9fea04b7b164dc2a112cab0acaa90571e54f5cc0 Mon Sep 17 00:00:00 2001 From: balastegui Date: Thu, 2 Jun 2016 10:22:45 +0200 Subject: [PATCH] Simple Player JavaScript restructuring --- telemeta/static/telemeta/js/playlist.js | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/telemeta/static/telemeta/js/playlist.js b/telemeta/static/telemeta/js/playlist.js index 3e4a0810..94a545b1 100644 --- a/telemeta/static/telemeta/js/playlist.js +++ b/telemeta/static/telemeta/js/playlist.js @@ -47,6 +47,7 @@ var playlistUtils = { description: '', state: 'stop', // state var: to state play or pause glyphicon playing: '', // playing var: used to know if an audio is already playing or not + audio: new Audio(), addPlaylist: function(name, id){ this.playlists.push({ @@ -91,20 +92,12 @@ var playlistUtils = { }, loadAudio: function(resElem){ - var audio = new Audio(); - //For old browsers that do not support mp3 files - /*audio.onerror = function(){ - this.src = this.src.replace("mp3", "ogg"); - this.play(); - };*/ - audio.src = resElem; - audio.play(); + this.audio.src = resElem; + this.audio.play(); }, - stopAudio: function(resElem){ - var audio = new Audio(); - audio.src = resElem; - audio.pause(); + stopAudio: function(){ + this.audio.pause(); }, changeGlyph: function(resElem){ @@ -113,16 +106,17 @@ var playlistUtils = { this.state = 'play'; document.getElementById(resElem).setAttribute("class", "glyphicon glyphicon-pause"); playlistUtils.loadAudio(resElem); + this.playing = resElem; } else if(this.state === 'play'){ this.state = 'stop'; document.getElementById(resElem).setAttribute("class", "glyphicon glyphicon-play"); - playlistUtils.stopAudio(resElem); + playlistUtils.stopAudio(); + this.playing = ''; } - this.playing = resElem; } else{ - playlistUtils.stopAudio(this.playing); + playlistUtils.stopAudio(); this.state = 'stop'; document.getElementById(this.playing).setAttribute("class", "glyphicon glyphicon-play"); this.playing = ''; -- 2.39.5