]> git.parisson.com Git - telemeta.git/commitdiff
Simple Player JavaScript restructuring
authorbalastegui <thomas.balastegui@gmail.com>
Thu, 2 Jun 2016 08:22:45 +0000 (10:22 +0200)
committerbalastegui <thomas.balastegui@gmail.com>
Thu, 2 Jun 2016 08:22:45 +0000 (10:22 +0200)
telemeta/static/telemeta/js/playlist.js

index 3e4a0810b31dc625120b0304fd621a903514de6b..94a545b12661854cc4c4b01990da16b72629abce 100644 (file)
@@ -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 = '';