你如何检测HTML5音频何时播放(不止一次)?

时间:2012-06-19 14:50:26

标签: javascript jquery html5 audio

我在检测标签播放完MP3时遇到问题。当我做这样的事情时:

     myAudio.addEventListener("ended", function() 
     {
          alert("ended");
     });

仅在第一次播放音频时出现。当我再次播放音频时,没有任何反应。当我使用onended=doThis();方法时,会发生同样的事情。我听说也许有一种方法可以在jQuery中实现它,但是我还没有能够让它工作。我也听说可能有办法通过每次播放mp3时更改音频格id来修复它,但这对我不起作用,因为我需要id来保持相同。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:35)

ended事件是基于.currentTime属性创建的。 http://w3c.github.io/html/semantics-embedded-content.html#eventdef-media-ended

因此,您所要做的就是将.currentTime再次设置为零。

myAudio.addEventListener("ended", function(){
     myAudio.currentTime = 0;
     console.log("ended");
});