如何防止错误"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(); })
}

只需将其添加到文档中即可。准备

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

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

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

相关内容

最新更新