我无法让 HTML5 音频在我的网站上循环播放:http: //oclock.webs.com。(这是一个警报,当警报响起时,应该循环播放 1 秒的警报声,直到您单击警报框上的 OK)。
简单地在音频标签中包含“循环”并没有做任何事情。
我在 StackOverflow 上找到了一篇有用的帖子,它把我带到了这个网站: http: //forestmist.org/2010/04/html5-audio-loops/
我知道方法 1 和 2 对我不起作用,因为它们不能在 Firefox 上工作并且在 Chrome 上是不确定的,所以方法 3 应该可以工作,不幸的是它没有。方法 3 在我在该网站的页面上时有效,但在代码包含在我自己的页面中时无效,因此我认为可能存在一些冲突的代码。
我网页的相关部分:
<audio id="audio1" preload>
<source src="media/alarm.ogg" type="audio/ogg" />
<source src="media/alarm.mp3" type="audio/mpeg" />
</audio>
<audio id="audio2" preload>
<source src="media/alarm.ogg" type="audio/ogg" />
<source src="media/alarm.mp3" type="audio/mpeg" />
</audio>
页面的相关Javascript:
if(timer==true && hours==hv && mins==mv && secs==sv){
document.getElementById("audio1").play();
alert("o'clock: Alarm ringing!");
document.getElementById("alarm").value="Set Alarm";
document.getElementById('audio1').addEventListener('ended', function(){
this.currentTime = 0;
this.pause();
document.getElementById('audio2').play();
}, false);
document.getElementById('audio2').addEventListener('ended', function(){
this.currentTime = 0;
this.pause();
document.getElementById('audio1').play();
}, false);
}
else{
document.getElementById("audio1").pause();
document.getElementById("audio2").pause();
document.getElementById("audio1").currentTime = 0;
document.getElementById("audio2").currentTime = 0;
}
意图:当计算机的时间与页面上选择的时间匹配时,音频警报将重复(循环),直到用户在弹出的警报框上单击“确定”。
问题:目前它只播放一次音频,不会循环播放。我哪里搞砸了?