javascript – HTML5音频播放列表 – 第一个结束后如何播放第二个音频文件?

前端之家收集整理的这篇文章主要介绍了javascript – HTML5音频播放列表 – 第一个结束后如何播放第二个音频文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们如何在 html5播放之后再播放一些音频呢?

我已经尝试使用jquery delay()函数,但它根本不工作,是否可能使用pause()在html5音频与计时器?例如,pause(‘500’,function(){});?

解决方法

这是一个JSLinted,不引人注目的 Javascript示例,演示如何处理和使用结束的 mediaevent.在您的特定情况下,您将触发在您的结束事件处理程序中播放第二个音频文件.

您可以使用下面的代码run the test fiddle.

单击播放列表中的项目开始播放.一个音频结束后,下一个音频开始.

标记:(注意,有意避免< li>元素之间的空格 – 这是为了简化使用nextSibling遍历DOM.)

  1. <audio id="player"></audio>
  2.  
  3. <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>
  4.  
  5. <button id="stop">Stop</button>

脚本:

  1. // globals
  2. var _player = document.getElementById("player"),_playlist = document.getElementById("playlist"),_stop = document.getElementById("stop");
  3.  
  4. // functions
  5. function playlistItemClick(clickedElement) {
  6. var selected = _playlist.querySelector(".selected");
  7. if (selected) {
  8. selected.classList.remove("selected");
  9. }
  10. clickedElement.classList.add("selected");
  11.  
  12. _player.src = clickedElement.getAttribute("data-ogg");
  13. _player.play();
  14. }
  15.  
  16. function playNext() {
  17. var selected = _playlist.querySelector("li.selected");
  18. if (selected && selected.nextSibling) {
  19. playlistItemClick(selected.nextSibling);
  20. }
  21. }
  22.  
  23. // event listeners
  24. _stop.addEventListener("click",function () {
  25. _player.pause();
  26. });
  27. _player.addEventListener("ended",playNext);
  28. _playlist.addEventListener("click",function (e) {
  29. if (e.target && e.target.nodeName === "LI") {
  30. playlistItemClick(e.target);
  31. }
  32. });​
  33.  
  34.  

猜你在找的JavaScript相关文章