我發現了一篇很好的教程,介紹如何在博客文章中使用HTML5和JavaScript構建播放列表HTML5 Audio and Video and how to make a playlist。我遵照指示,但我沒有得到正確的結果。HTML5/JavaScript音頻播放列表
該代碼應該按順序播放所有三個音頻文件,並在最後一首歌曲結束時停止,但它實際上是自動播放第一個文件,然後在第一個文件完成時停止播放。我做錯了什麼?
<html>
<body>
<ul id="playlist">
<li class="active">
<a href="http://www.codenamejupiterx.com/song/soundtest.mp3">
soundtest
</a>
</li>
<li>
<a href="http://www.codenamejupiterx.com/song/soundtest2.mp3">
soundtest2
</a>
</li>
<li>
<a href="http://www.codenamejupiterx.com/song/soundtest3.mp3">
soundtest3
</a>
</li>
</ul>
<script>
var audio;
var playlist;
var tracks;
var current;
init();
function init(){
current = 0;
audio = $('#audio');
playlist = $('#playlist');
tracks = playlist.find('li a');
len = tracks.length - 1;
audio[0].volume = .10;
audio[0].play();
playlist.find('a').click(function(e){
e.preventDefault();
link = $(this);
current = link.parent().index();
run(link, audio[0]);
});
audio[0].addEventListener('ended',function(e){
current++;
if(current == len){
current = 0;
link = playlist.find('a')[0];
}
else{
link = playlist.find('a')[current];
}
run($(link),audio[0]);
});
}
function run(link, player){
player.src = link.attr('href');
par = link.parent();
par.addClass('active').siblings().removeClass('active');
audio[0].load();
audio[0].play();
}
</script>
</body>
</html>
感謝胡安!!!!但有一件事我從len = track.length行刪除了-1,但它仍然只播放兩個曲目....任何消費者? – codenamejupiterx
這是我的瀏覽器safari 5,當我升級到safari 6時,它像一個魅力一樣工作。謝謝胡安! – codenamejupiterx