如何循环音频一定次数?

时间:2016-06-15 17:24:28

标签: loops embed

我想重复一次声音3次。我尝试了以下方法:

<embed src="myaudio.mp3" width="100%" height="200" autostart="true" loop="3">

但声音连续播放,3次后不会停止。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

embed元素实际上没有loop属性。您应该使用the standard audio element,它具有布尔loop属性。

然后,使用JavaScript来监听ontimeupdate event。当currentTime等于0.0时,您知道它已经回放,如果计算出这种情况发生的次数,您可以在pause()循环所需的次数后调用它。

<audio id="myaudio" src="myaudio.mp3" loop></audio>

<script>
var loopCount = 0;

document.getElementById('myaudio').addEventListener('timeupdate', function () {
    if (this.currentTime == 0)
        ++loopCount;
    if (loopCount == 3)
        this.pause();
});
</script>

答案 1 :(得分:0)

您可以使用此替代方法设置循环次数:

<script> 
   var loops = 3;       
   var count = 0;
    myaudio.onended = function() {
        if(count <= loops){
          count++;
          this.play();
       }
    };
</script>