35

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

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

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

有没有人有任何想法?

4

1 回答 1

52

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");
});
于 2012-06-19T15:13:32.030 回答