From: balastegui Date: Thu, 2 Jun 2016 08:22:45 +0000 (+0200) Subject: Simple Player JavaScript restructuring X-Git-Tag: 1.6.2^2~10^2^2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=9fea04b7b164dc2a112cab0acaa90571e54f5cc0;p=telemeta.git Simple Player JavaScript restructuring --- 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 = '';