如何在JavaScript中循环声音?

时间:2014-03-18 23:02:44

标签: javascript html html5-audio

我尝试使用以下代码在JavaScript中播放声音一段时间但没有成功,声音只播放一次,问题是什么?

for(var i = 0; i < errors; i++){
    PlaySound3();
}

功能:

function PlaySound3() {
    var audioElement = document.getElementById('beep');
    audioElement.setAttribute("preload", "auto");
    audioElement.autobuffer = true;    
    audioElement.load();
    audioElement.play();
};

HTML code:

<audio id="beep">
    <source src="assets/sound/beep.wav" type="audio/wav" />
</audio>

1 个答案:

答案 0 :(得分:5)

如果您想无限播放声音,请使用标记音频中的属性loop

<audio id="beep" loop>
   <source src="assets/sound/beep.wav" type="audio/wav" />
</audio>

修改

如果要在3次后停止循环,请添加一个事件监听器:

HTML:

<audio id="beep">
   <source src="assets/sound/beep.wav" type="audio/wav" />
</audio>

JS:

var count = 1
document.getElementById('beep').addEventListener('ended', function(){
   this.currentTime = 0;
   if(count <= 3){
      this.play();
   }
   count++;
}, false);