有没有办法在播放完音频后暂停



当使用音频对象方法audio.play()audio.pause()点击时,我试图让元素播放/暂停声音,但我得到了这个错误:

"未捕获(在promise中(DOMException:play((请求被对pause((的调用中断">

有没有一种简单的方法可以在没有任何库的情况下解决这个问题?

document.querySelector(".head-container").addEventListener("click", function () {
var audio = new Audio('./sounds/kick-bass.mp3');
audio.play();
if (!audio.paused) {
audio.pause();
}
});

更新,解决方案是从事件监听器中创建音频对象,我的错。对于任何感兴趣的人,如果你想重新启动声音,你可以使用audio.load((而不是audio.paused((。


var audio = new Audio('./sounds/sound.mp3');
document.querySelector(".head-container").addEventListener("click", function () {

if (audio.paused) {
audio.play();
}
else {
audio.pause()
/*audio.load(); */
}

我认为您的条件语句有一些问题。你为什么不试试

...
var audio = new Audio('./sounds/kick-bass.mp3');
if(!audio.paused) {
audio.pause();
} else {
audio.play();
}

最新更新