javascript - 您如何检测 HTML5 音频何时完成播放(不止一次)?

标签 javascript jquery html audio

<分区>

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

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

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

有人有什么想法吗?

最佳答案

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");
});

关于javascript - 您如何检测 HTML5 音频何时完成播放(不止一次)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103582/

相关文章:

javascript - 使图像黑白 Javascript

javascript - 查找并仅显示表中的最高分数

javascript - jquery 按名称选择链接

html - 如何跨浏览器一致地对齐复选框及其标签

java - 如何将其嵌入到我的网站中?

javascript - 我在哪里可以获得离线 jQuery 1.7 API 转储

javascript - 无法将值分配给 Angular 工厂内的变量?

jquery - kendo mvvm 绑定(bind)无法正常工作

javascript - 单击同级时关闭下拉菜单

html - 如何使用 css 将图像叠加在一起并使它们无限滚动?