音乐结束时自动播放新的音频文件

Automatically play new audio file when music ends

本文关键字:音频 文件 自动播放 结束 音乐      更新时间:2023-09-26

我发现有一个JavaScript,它随机挑选一个音乐文件,然后在网站启动时播放它。现在,我想知道是否有办法改变脚本并让它在一首结束时开始一首新歌。这样,用户就不必在歌曲结束时刷新页面。

这是代码:

<script>
var sound1="Music/AnythingGoes.mp3"
var sound2="Music/AWonderfulGuy.mp3"
var sound3="Music/BoogieMan.mp3"
var sound4="Music/ButcherPete.mp3"
var sound5="Music/Civilization.mp3"
var x=Math.round(Math.random()*4)
if (x==0) x=sound1
else if (x==1) x=sound2
else if (x==2) x=sound3
else if (x==3) x=sound4
else x=sound5
if (navigator.appName=="Microsoft Internet Explorer")
document.write('<bgsound src='+'"'+x+'"'+' loop="infinite">')
else
document.write('<embed src='+'"'+x+'"'+'hidden="true" border="0" width="0" height="0" autostart="true" loop="true">')
</script>

编辑: 示例代码:

    <audio id = 'aud' src = 'http://upload.wikimedia.org/wikipedia/en/f/f9/Beatles_eleanor_rigby.ogg' autoplay></audio>
<script>
    var aud = document.getElementById('aud');
    aud.onended = function() {
        console.log("Track Changing.");
        // aud.src = getRandomSongSrc();
        aud.src = "http://upload.wikimedia.org/wikipedia/commons/5/5b/Ludwig_van_Beethoven_-_Symphonie_5_c-moll_-_1._Allegro_con_brio.ogg";
        aud.load();
    };
</script>

小提琴演示。

在 HTML5 中,你可以使用隐藏的 audio 元素来播放随机歌曲,收听 ended 事件,然后调用你原来的函数,它会替换 audio 元素(可以通过 id 属性进行跟踪(。

另外,您可以使用 var sounds = [file1, file2..]; 代替 sound1="Mus ...; sound2 = "... ,然后可以将 if 循环减少到x=sound[x];