播放多个音频文件

时间:2013-06-20 04:33:26

标签: javascript html5

我正在尝试使用下面的代码创建一个播放列表,但我似乎遇到了一些错误。 Firebug说play()不是函数。请帮助我花了一半的时间来寻找解决方案。这是我的代码:

<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script>     

         var current, playlist;
         current = 0;
         function() {
             current++;
             var songs = Array("en_ra1.mp3", "en_ra2.mp3", "en_ra3.mp3", "en_ra0.mp3");
             playlist = songs.length;
             if (current == playlist) {
               //do nothing or stop
             } else {
               this.playOptions = document.getElementById("audio").src = songs[current];
               this.playOptions.play();
             }
         }
  </script>
  </head>
<body>
<audio id="audio" onended="loadplaylist()" src="ny_option1.mp3"  controls  ></audio>

注意:当我包含autoplay属性时,尽管firebug控制台中显示错误,但它仍能正常工作。

1 个答案:

答案 0 :(得分:2)

我没看到你宣布loadplaylist函数的位置,可能是一个错字

在你的函数中,你将this.playOptions设置为从数组返回的字符串,而不是播放器,我认为你的函数应该是这样的:

 function loadplaylist() {
         current++;
         var songs = Array("en_ra1.mp3", "en_ra2.mp3", "en_ra3.mp3", "en_ra0.mp3");
         playlist = songs.length;
         if (current == playlist) {
           //do nothing or stop
         } else {
           this.playOptions = document.getElementById("audio");
           this.playOptions.src = songs[current];
           this.playOptions.play();
         }
     }