如何找到HTMLAudioElement音频结束播放

问题描述 投票:1回答:2

一个应用程序正在播放一个音频剪辑,HTMLAudioElement嵌套在一些JavaScript中,如下所示,

mySound = new Audio([URLString]);

和URL字符串将根据用户点击不断变化。

任何方式找到HTMLAudioElement音频完成播放时我需要调用一个函数。我尝试了“已结束”属性,但在完成音频播放后没有调用功能。

javascript html5 audio html5-audio web-audio
2个回答
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
投票

正如@Djave在他们的评论中所指出的那样,并且如here所提到的,你可以将onended事件用于使用JS创建的Audio对象(而不是ended,如果你使用DOM元素,它是有效的):

mySound = new Audio(audioFile);
mySound.onended = function() {
    // Whatever you want to do when the audio ends.
}
© www.soinside.com 2019 - 2024. All rights reserved.