一个应用程序正在使用JavaScript中的HTMLAudioElement播放音频剪辑,如下所示:
mySound = new Audio([URLString]);
URL字符串会根据用户点击而不断变化。
如何找到HTMLAudioElement音频何时完成?我尝试了“ended”属性,但是该函数在音频播放完后并没有被调用。
一个应用程序正在使用JavaScript中的HTMLAudioElement播放音频剪辑,如下所示:
mySound = new Audio([URLString]);
URL字符串会根据用户点击而不断变化。
如何找到HTMLAudioElement音频何时完成?我尝试了“ended”属性,但是该函数在音频播放完后并没有被调用。
正如@Djave在评论中指出的那样,并且正如这里提到的,您可以使用onended
事件处理JS创建的Audio对象(相反,如果您正在使用DOM元素,则有效的是ended
):
mySound = new Audio(audioFile);
mySound.onended = function() {
// Whatever you want to do when the audio ends.
}
有什么方法可以找到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
var myAudioClip = document.createElement('audio'); document.body.appendChild('myAudioClip');
? - RouninaddEventListener
并监听 ended
事件,就像当 HTMLAudioElement
在 DOM 中一样,例如:mySound = new Audio([URLString]);
mySound.addEventListener("ended", function(e) {
// do whatever
})
mySound.onended = function(){ ... };
的onended
吗? - Djave