一个应用程序正在播放一个音频剪辑,HTMLAudioElement嵌套在一些JavaScript中,如下所示,
mySound = new Audio([URLString]);
和URL字符串将根据用户点击不断变化。
任何方式找到HTMLAudioElement音频完成播放时我需要调用一个函数。我尝试了“已结束”属性,但在完成音频播放后没有调用功能。
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
正如@Djave在他们的评论中所指出的那样,并且如here所提到的,你可以将onended
事件用于使用JS创建的Audio对象(而不是ended
,如果你使用DOM元素,它是有效的):
mySound = new Audio(audioFile);
mySound.onended = function() {
// Whatever you want to do when the audio ends.
}