我们怎样才能让html5中的一些音频在另一个音频播放完后播放呢?
我尝试过使用jquerydelay()
功能,但它根本不起作用,是否可以使用pause()
在 html5 音频中用定时器代替?例如,pause('500',function(){});
?
这是一个 JSLinted、不引人注目的 Javascriptexample演示如何处理和使用ended
媒体活动 https://developer.mozilla.org/en/DOM/Media_events。在您的特定情况下,您将触发播放中的第二个音频文件ended
事件处理程序。
您可以使用下面的代码或运行测试小提琴 http://jsfiddle.net/75lb/jwyMH/.
单击播放列表中的项目即可开始播放。一个音频结束后,下一个音频将开始。
标记:(注意故意避免之间的空格<li>
elements - 这是为了简化 DOM 的遍历nextSibling
.)
<audio id="player"></audio>
<ul id="playlist"><li data-ogg="http://www.lunerouge.org/sons/sf/LRWeird%201%20by%20Lionel%20Allorge.ogg">Space 1</li><li data-ogg="http://www.lunerouge.org/sons/sf/LRWeird%202%20by%20Lionel%20Allorge.ogg">Space 2</li><li data-ogg="http://www.lunerouge.org/sons/sf/LRWeird%203%20by%20Lionel%20Allorge.ogg">Space Lab</li></ul>
<button id="stop">Stop</button>
script:
// globals
var _player = document.getElementById("player"),
_playlist = document.getElementById("playlist"),
_stop = document.getElementById("stop");
// functions
function playlistItemClick(clickedElement) {
var selected = _playlist.querySelector(".selected");
if (selected) {
selected.classList.remove("selected");
}
clickedElement.classList.add("selected");
_player.src = clickedElement.getAttribute("data-ogg");
_player.play();
}
function playNext() {
var selected = _playlist.querySelector("li.selected");
if (selected && selected.nextSibling) {
playlistItemClick(selected.nextSibling);
}
}
// event listeners
_stop.addEventListener("click", function () {
_player.pause();
});
_player.addEventListener("ended", playNext);
_playlist.addEventListener("click", function (e) {
if (e.target && e.target.nodeName === "LI") {
playlistItemClick(e.target);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)