2014-09-11 169 views
1

我已经看过这里的几个类似问题,并且找不到任何相关的内容。我有2个音频文件。第一次播放页面加载时,它工作正常。我希望第二个音频文件在第一个音频文件结束后立即播放,并且我还需要第二个文件无限循环。以下是我迄今为止尝试:连续播放2个音频文件

<body> 
<audio autoplay id="audio_1" src="./audio1.wav"></audio> 
<audio loop id="audio_2" src="./audio_2.wav"></audio> 
</body> 

和JavaScript:

var audio = document.getElmentById("audio_1"); 
audio.addEventListener("ended", function() { 
audio.src = "./audio_2.wav"; 
audio.play(); 
}); 

就像我说的,第一个文件播放罚款,但随后的第二个文件无法播放的。任何想法将不胜感激,谢谢。

回答

1

你应该尝试创建两个瓦尔:

var audio = document.getElmentById("audio_1"); 
var audio2 = document.getElmentById("audio_2"); 
audio2.pause(); 
audio.addEventListener("ended", function() { 
    audio_2.play(); 
}); 

编辑:您曾在 “getElement” 错别字错误

这里是新代码

var audio = document.getElementById("audio_1"); 
var audio2 = document.getElementById("audio_2"); 
audio2.pause(); 
audio.addEventListener("ended", function() { 
audio2.play(); 
}); 
+0

我仍然得到同样的问题。也许我把它编码错了。我的JavaScript知识相当有限。有可能得到一个jsfiddle的例子吗? – itzChris 2014-09-11 10:00:48

+0

我把JavaScript里面的标题标签。这可能是问题吗? – itzChris 2014-09-11 10:02:49

+0

只要把新的JavaScript给我''里面''' – Glukose 2014-09-11 10:03:39

0

尝试将第二个.wav定义为JS varibale,然后为其触发器设置一个超时值,以便一旦第一个完成,第二个将开始。一旦你完成了,你只需要编写第二个.wav的循环代码。