【问题标题】:How do I prevent the error "Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause()."?如何防止错误“未捕获(承诺中)DOMException:播放()请求被暂停()调用中断。”?
【发布时间】:2016-05-10 10:38:51
【问题描述】:

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

【问题讨论】:

    标签: javascript


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      只需在 document.ready 中添加即可

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

      【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      猜你喜欢
      • 2019-04-14
      • 2017-03-09
      • 2018-01-02
      • 2019-11-28
      • 2021-12-09
      • 2019-09-08
      • 2019-11-03
      • 2019-07-10
      • 2018-09-25
      相关资源
      最近更新 更多