Chrome 61 的音訊/影片更新

法蘭索瓦博福
François Beaufort

背景影片音軌最佳化 (僅限 MSE)

為延長電池續航力,如果影片使用媒體來源擴充功能 (MSE),當影片在背景播放時 (例如在非可見的分頁中),Chrome 會停用視訊軌。

如要檢查這些變更,請前往 chrome://media-internals 頁面,然後篩選「info」屬性。當含有正在播放影片的分頁失效時,您會看到 Selected video track: [] 之類的訊息,表示影片音軌已遭停用。等到分頁再次啟用後 系統就會自動重新啟用視訊軌。

chrome://media-internals 頁面的記錄面板
圖 1. chrome://media-internals 頁面中的記錄檔面板

如果你想瞭解情況,以下 JavaScript 程式碼片段會顯示 Chrome 的大致執行情況。

    var video = document.querySelector('video');
    var selectedVideoTrackIndex;

    document.addEventListener('visibilitychange', function() {
      if (document.hidden) {
        // Disable video track when page is hidden.
        selectedVideoTrackIndex = video.videoTracks.selectedIndex;
        video.videoTracks[selectedVideoTrackIndex].selected = false;
      } else {
        // Re-enable video track when page is not hidden anymore.
        video.videoTracks[selectedVideoTrackIndex].selected = true;
      }
    });

停用視訊軌時,建議您降低影片串流的品質。如上文所示,使用 Page Visibility API 就能直接偵測網頁是否隱藏。

相關限制如下:

  • 這項最佳化功能僅適用於主要畫面格距離小於 5 秒的影片。
  • 如果影片不含任何音軌,系統將在背景播放時自動暫停影片。

Chromium 錯誤

裝置旋轉時,自動以全螢幕播放影片

如果在可視區域中播放影片時,將裝置旋轉為橫向,播放就會自動切換成全螢幕模式。將裝置旋轉為直向模式,就能讓影片重新回到視窗模式。

請注意,您可以自行導入這個行為。(請參閱行動網頁影片播放一文)。

裝置旋轉時,自動以全螢幕播放影片
圖 2. 裝置旋轉時,自動顯示全螢幕影片

這個魔術行為只會在下列情況發生:

  • 裝置是 Android 手機 (不是平板電腦)
  • 使用者的螢幕方向已設為「自動旋轉」
  • 影片大小至少為 200x200 像素
  • 影片使用原生控制項
  • 目前播放影片
  • 影片至少 75% 的篇幅 (顯示在螢幕上)
  • 方向可旋轉 90 度 (而非 180 度)
  • 尚未建立全螢幕元素
  • 未使用 Screen Orientation API 鎖定螢幕

Chromium 錯誤