Difference between revisions of "Widget:Audio player"

Line 20: Line 20:
 
     } else {
 
     } else {
 
         console.log("waiting, waiting");
 
         console.log("waiting, waiting");
         setTimeout(function() { defer(method) }, 1000);
+
         setTimeout(function() { defer(method) }, 50);
 
     }
 
     }
 
}
 
}
Line 27: Line 27:
 
     var soundUrl = 'https://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/<!--{$file}-->.mp3';
 
     var soundUrl = 'https://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/<!--{$file}-->.mp3';
 
     soundUrl = soundUrl.replace('ü', 'u%CC%88');
 
     soundUrl = soundUrl.replace('ü', 'u%CC%88');
     $('#audioContainer').append('<audio src="' + soundUrl + '" type="audio/mpeg" preload></audio>');
+
     window.jQuery('#audioContainer').append('<audio src="' + soundUrl + '" type="audio/mpeg" preload></audio>');
     $('#audioContainer').children().get(0).onended = function() {
+
     window.jQuery('#audioContainer').children().get(0).onended = function() {
         $('#playIcon').removeClass('playing');
+
         window.jQuery('#playIcon').removeClass('playing');
 
     };
 
     };
 
}
 
}
  
$('#playIcon').click(function() {
+
window.jQuery('#playIcon').click(function() {
 
     var $audioDiv = $('#audioContainer');
 
     var $audioDiv = $('#audioContainer');
 
     $audioDiv.children().get(0).pause();
 
     $audioDiv.children().get(0).pause();
 
     $audioDiv.children().get(0).play();
 
     $audioDiv.children().get(0).play();
     $('#playIcon').addClass('playing');
+
     window.jQuery('#playIcon').addClass('playing');
 
});
 
});
  
 
defer(playFile);
 
defer(playFile);
 
</script>
 
</script>

Revision as of 02:21, 15 April 2020

<style> .audio-container { display:none; } .play-icon { float:right; padding-right:10px; margin-top:-5px; fill:gray; cursor:pointer; } .play-icon:hover { fill:black; } .play-icon.playing { fill:black; } </style>

<svg id="playIcon" class="play-icon" fill="#000000" height="36" viewBox="0 0 24 24" width="36" xmlns="http://www.w3.org/2000/svg">

 <path d="M0 0h24v24H0z" fill="none"/>
 <path d="M10 16.5l6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>

</svg>

<script> function defer(method) {

   if (window.jQuery) {
       method();
   } else {
       console.log("waiting, waiting");
       setTimeout(function() { defer(method) }, 50);
   }

}

var playFile = function() {

   var soundUrl = 'https://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/.mp3';
   soundUrl = soundUrl.replace('ü', 'u%CC%88');
   window.jQuery('#audioContainer').append('<audio src="' + soundUrl + '" type="audio/mpeg" preload></audio>');
   window.jQuery('#audioContainer').children().get(0).onended = function() {
       window.jQuery('#playIcon').removeClass('playing');
   };

}

window.jQuery('#playIcon').click(function() {

   var $audioDiv = $('#audioContainer');
   $audioDiv.children().get(0).pause();
   $audioDiv.children().get(0).play();
   window.jQuery('#playIcon').addClass('playing');

});

defer(playFile); </script>