簡體   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