带有<audio> JavaScript </audio>的播放列表

时间:2013-07-06 20:10:41

标签: javascript html5

我正在创建一个个人小网站,我想在上面播放一些歌曲。我试图做的是以下

<script type="text/javascript">

var i=1;
var nextSong= "";
var audioPlayer = document.getElementById('audio');
audioPlayer.onended = function(){
    i++
    nextSong = "Music/"+i+".mp3";
    audioPlayer.src = nextSong;
    audioPLayer.load();
    audioPlayer.play();
    if(i == 37) // this is the end of the songs.
    {
        i = 1;
    }

}
</script>
<audio id="audio"  src="Music/1.mp3"controls="controls" autoplay="autoplay"   align=""> </audio>

但是我不能让它工作,它只是播放第一首歌并且没有执行JS我已经尝试提醒我的状态例如但它没有做任何事情。

2 个答案:

答案 0 :(得分:4)

试试这个:

<script type="text/javascript">

var i=1;
var nextSong= "";
function setup() {
    document.getElementById('audio').addEventListener('ended', function(){
        i++;
        nextSong = "Music/"+i+".mp3";
        audioPlayer = document.getElementById('audio');
        audioPlayer.src = nextSong;
        audioPLayer.load();
        audioPlayer.play();
        if(i == 37) // this is the end of the songs.
        {
            i = 1;
        }
        }, false);
}
</script>
<body onLoad="setup();">
<audio id="audio"  src="Music/1.mp3"controls="controls" autoplay="autoplay"   align=""> </audio>
</body>

答案 1 :(得分:1)

这个答案需要修改。你还需要识别音频播放器,否则这将不起作用......

<script type="text/javascript">

function setup() {
    var i=1;
    var nextSong= "";
    audioPlayer = document.getElementById('audio');
    document.getElementById('audio').addEventListener('ended', function(){
        i=i+1;
        nextSong = "m"+i+".mp3";
        audioPlayer.src = nextSong;
        audioPlayer.load();
        audioPlayer.play();     
        }, false);

}
</script>
<body onLoad="setup();">
<audio id="audio"  src="m1.mp3" controls="controls" autoplay="autoplay" align=""> </audio>
</body>