如何找到HTMLAudioElement音频结束播放

时间:2017-07-25 09:34:46

标签: javascript html5 audio html5-audio web-audio

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

mySound = new Audio([URLString]);

和URL字符串将在用户点击时保持更改。

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

3 个答案:

答案 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
})