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

时间:2021-05-07 20:53:28

标签: javascript

我正在尝试使用音频对象方法 audio.play()audio.pause() 在点击元素时播放/暂停声音,但我收到此错误:

“未捕获(承诺)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(); */
    }

1 个答案:

答案 0 :(得分:0)

我认为您的条件语句有问题。 为什么不尝试使用

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