有没有办法在播放后暂停音频? [复制]

Posted

技术标签:

【中文标题】有没有办法在播放后暂停音频? [复制]【英文标题】:is there a way to pause an audio after being played? [duplicate] 【发布时间】:2021-05-07 20:53:28 【问题描述】:

我正在尝试使用音频对象方法: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(); */
    

【问题讨论】:

playpause 方法是异步的。也就是说,调用play 之后的代码将在音频开始播放之前运行。考虑等待play 方法,或者最初甚至不播放音频。 ***.com/a/51226222/1533592 您的情况正确吗?它似乎关闭了 您能更好地描述预期的行为吗? 如果每次点击都创建一个新的音频对象,你应该如何暂停? 【参考方案1】:

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

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

【讨论】:

抱歉没用,谢谢。

以上是关于有没有办法在播放后暂停音频? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在音频 B 也开始播放后修复音频 A 的播放?

播放和暂停按钮正在工作...但是如何重置按钮以在音频结束后显示播放符号?

创建一个只有播放和暂停的 Javascript 音频播放列表

如果您的应用程序播放视频并暂停背景音频,您如何在完成后让背景音频恢复?

是否可以使用按钮自动播放音频和播放/暂停?

当另一个应用开始播放音频时,如何自动暂停我的应用中的音频播放器?