2015-11-04 33 views
0

從Chrome 46開始,新的背景選項卡將不再自動播放音頻或視頻。應用程序如何判斷其自動播放是否被阻止?確定Chrome是否阻止了HTML5視頻自動播放?

一些想法:

  • UA嗅探爲Chrome 46+
  • 檢查,如果標籤與能見度API可見
  • 檢查,如果如果視頻確實正在播放
  • 與歷史API
  • 檢查新標籤

這樣的事情可能會起作用,但我真的想知道是否有更好的方法:

function isAutoplayBlocked() { 
    return isChrome46 && isNewTab && isHiddenTab; 
} 
+0

它是「新標籤」不是視頻autoplaying被阻止的要求。例如,轉到youtube,點擊一個視頻,在加載頁面之前轉到另一個選項卡。視頻不會播放。 – Vincent

+0

根據提交:「一旦選項卡/ RenderFrame曾經播放媒體,它可以繼續自動播放/自動加載無限期」。所以你的場景只有當這個標籤還沒有播放媒體時纔是真實的。但你說得對,我錯了。 –

回答

0

首先在手機上,自動播放完全被阻止。

查看您的視頻是否被阻止的最佳方式是查找指示該元素已開始播放的媒體事件,如ontimeupdate,並且您的元素已附加了自動播放屬性。如果沒有更新並且沒有用戶交互,那麼您可以假定自動播放已被暫停。