javascript - How to chain playing of several HTML5 audio files like a smooth playlist? -
given access valid audio files :
<audio src="https://upload.wikimedia.org/wikipedia/commons/9/9b/zh-tianjin.ogg"></audio> <audio src="https://upload.wikimedia.org/wikipedia/commons/8/8a/zh-beijing.ogg"></audio> <audio src="https://upload.wikimedia.org/wikipedia/commons/7/73/zh-shanghai.ogg"></audio> <audio src="https://upload.wikimedia.org/wikipedia/commons/e/e2/zh-chengdu.ogg"></audio>
given button :
<button id="play">play me!</button>
given play 1 audio
$('#play').on('click', function () { $("audio")[0].play(); });
how chain playing of these several audio, 1 after other ? -- pure js , jquery, other js libs acceptable.
my starting point this fiddle basic tools
edit: tried big hand of ways without success, using .duration
, window.settimeout(function(){do_that}, time_ms)
, .delay()
in few combinations without success. see: http://jsfiddle.net/ka2nh/7/
you can use ended event , trigger next one
var active = false; $("audio").on("ended", function(){ var audio = $(this).next("audio"); if (audio.length) { audio.get(0).play(); } else { active = false; } }); $('#play').on('click', function () { if (!active) { $("audio")[0].play(); active = true; } });
jsfiddle: http://jsfiddle.net/ymas6/1/
Comments
Post a Comment