如何避免javascript中的音频循环滞后?

时间:2014-06-12 02:17:29

标签: javascript audio

我试图在html 5上播放声音.sound.loop = true;但是当声音结束时,循环之间会有一个沉默。我怎么能避免这种情况?非常感谢,这里是代码:

<audio id="ruido">
<source src="ruido.ogg" type="audio/ogg">
<source src="ruido.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<script>
   var sound = document.getElementById("ruido");
   sound.loop = true;
   sound.play();
</script>

1 个答案:

答案 0 :(得分:0)

当调用'已结束'事件时,您可以使用JavaScript函数循环。

<audio id="loopMe" controls preload>
  <source src="ruido.ogg" type="audio/ogg">
  <source src="ruido.mp3" type="audio/mpeg">
</audio>

document.getElementById('loopMe').addEventListener('ended', function(){
this.currentTime = 0;
this.play();
}, false);

或者更好的是尝试SeamlessLoop库,在没有特定浏览器音频API的情况下,在HTML5 / JavaScript上重现无缝/无间隙音频循环。