如何防止错误"未捕获(在承诺中)DOMException:play()请求被pause()调用中断。"?

时间:2016-05-10 10:38:51

标签: javascript

我在Chrome浏览器中遇到此问题。当我点击任何音频时,它会抛出异常。我的音频标签处于循环中,当我点击音频或使用ajax刷新它时,就会抛出异常。

3 个答案:

答案 0 :(得分:1)

我的media未加载时出现同样的错误。检查这些:

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

答案 1 :(得分:1)

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

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

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

只需将其添加到document.ready

即可

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

答案 2 :(得分:0)

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

在Chrome团队修复此问题之前,似乎无法阻止错误。