2 回答
TA贡献1842条经验 获得超13个赞
你可以用ended事件来做到这一点。ended所以你应该只在你想要的元素上监听事件,如下所示:
const audio = document.querySelector("audio");
audio.addEventListener('ended', (event) => {
console.log('audio has been ended');
});
<audio controls src="https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3">
Your browser does not support the <code>audio</code> element.
</audio>
TA贡献1829条经验 获得超4个赞
使用该onended功能。
<audio controls="controls" controlsList="nodownload" onended="console.log('ended!');">
<source src="///file-examples.com/wp-content/uploads/2017/11/file_example_MP3_700KB.mp3" type="audio/mp3" id="my_audio">
</audio>
你也可以试试:
$('#my_audio').parent().play().then(() => {
const checkAudio = () => {
if ($('#my_audio').parent()[0].ended) {
console.log('ended!');
} else {
setTimeout(checkAudio, 100);
};
};
});
<audio controls="controls" controlsList="nodownload">
<source src="///file-examples.com/wp-content/uploads/2017/11/file_example_MP3_700KB.mp3" type="audio/mp3" id="my_audio">
</audio>
添加回答
举报
