一个应用程序正在播放一个音频片段,其中HTMLAudioElement嵌套在一些JavaScript中,如下所示
mySound = new Audio([URLString]);
和URL字符串将在用户点击时保持更改。
任何查找HTMLAudioElement音频完成播放的方法我需要调用一个函数。我尝试了“已结束”属性,但在完成音频播放后没有调用功能。
答案 0 :(得分:1)
HTMLAudioElement音频完成时的任何查找方式
您可以使用ended
事件监听器:
<强> HTML:强>
<audio>
<source src="/my-audio-clip.mp3" type="audio/mpeg">
</audio>
<强>使用Javascript:强>
var myAudioClip = document.querySelector('[src="/my-audio-clip.mp3"]');
myAudioClip.addEventListener('ended', myFunction, false);
进一步阅读: https://developer.mozilla.org/en-US/docs/Web/Events/ended
答案 1 :(得分:1)
正如@Djave在评论中指出的那样,并提到here,您可以将onended
事件用于使用JS创建的音频对象(与ended
相对,如果您正在使用DOM元素):
mySound = new Audio(audioFile);
mySound.onended = function() {
// Whatever you want to do when the audio ends.
}
答案 2 :(得分:0)
您可以使用 addEventListener
并侦听 ended
事件,就像 HTMLAudioElement
在 DOM 中时一样,例如
mySound = new Audio([URLString]);
mySound.addEventListener("ended", function(e) {
// do whatever
})