繁体   English   中英

如何防止错误“未捕获(承诺)DOMException:播放()请求被暂停()调用中断。”?

[英]How do I prevent the error "Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()."?

我在 chrome 浏览器中遇到了这个问题。 当我单击任何音频时,它会引发异常。 我的音频标签处于循环状态,当我单击音频或使用 ajax 刷新它时,就会抛出异常。

当我的media没有加载时,我遇到了同样的错误。 检查这些:

  1. 您的media具有正确的src
  2. 您的media在播放之前已加载。

我不知道这是否会帮助你,但我仍然留下我的评论,所以也许它会帮助别人。 我有类似的问题,@dighan 在 bountysource.com/issues/ 上提出的解决方案为我解决了这个问题。

所以这是解决我的问题的代码:

var media = document.getElementById("YourVideo");
const playPromise = media.play();
if (playPromise !== null){
    playPromise.catch(() => { media.play(); })
}

只需将其添加到 document.ready 中

它仍然会向控制台抛出错误,但至少视频正在播放:) 我认为这也适用于音频。

我最近注意到这种情况发生在我以前没有问题的网站之一上,并且根本没有改变。 它似乎是 Chrome 中的一个已知错误——请查看此处的问题跟踪器: https : //bugs.chromium.org/p/chromium/issues/detail?id=593273

在 Chrome 团队修复之前,似乎没有办法防止错误发生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM