有没有办法在播放后暂停音频? [复制]
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(); */
【问题讨论】:
play
和 pause
方法是异步的。也就是说,调用play
之后的代码将在音频开始播放之前运行。考虑等待play
方法,或者最初甚至不播放音频。
***.com/a/51226222/1533592
您的情况正确吗?它似乎关闭了
您能更好地描述预期的行为吗?
如果每次点击都创建一个新的音频对象,你应该如何暂停?
【参考方案1】:
我认为你的条件语句有问题。 为什么不尝试使用
...
var audio = new Audio('./sounds/kick-bass.mp3');
if(!audio.paused)
audio.pause();
else
audio.play();
【讨论】:
抱歉没用,谢谢。以上是关于有没有办法在播放后暂停音频? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
播放和暂停按钮正在工作...但是如何重置按钮以在音频结束后显示播放符号?
创建一个只有播放和暂停的 Javascript 音频播放列表