我想重复一次声音3次。我尝试了以下方法:
<embed src="myaudio.mp3" width="100%" height="200" autostart="true" loop="3">
但声音连续播放,3次后不会停止。我怎样才能做到这一点?
答案 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>