- Chrome 現在會在背景播放 MSE 影片時停用視訊軌,獲得最佳效能。
- 影片旋轉時會以全螢幕顯示。
背景影片追蹤最佳化 (僅限 MSE)
為延長電池續航力,如果影片使用媒體來源擴充功能 (MSE),在背景播放影片時 (例如在未顯示的分頁中),Chrome 會停用視訊軌。
如要檢查這些變更,請前往 chrome://media-internals
頁面,然後篩選「info」屬性。當內含播放影片的分頁停用時,系統會顯示 Selected video track: []
這類訊息,指出影片音軌已停用。分頁功能再次啟用後,就會自動重新啟用視訊軌。
以下提供 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 偵測網頁隱藏時間。
限制如下:
- 這項最佳化功能僅適用於 keyFrame 距離小於 5 秒的影片。
- 如果影片不含任何音軌,系統會在背景播放時自動暫停影片。
旋轉裝置時,自動顯示全螢幕影片
當影片在可視區域中播放時,如果將裝置旋轉為橫向,播放影片就會自動切換成全螢幕模式。將裝置旋轉為直向模式後,影片就會返回視窗模式。
請注意,您可以手動實作這個行為。(請參閱行動版網站影片播放一文)。
這個魔法行為只會在以下情況發生:
- 裝置為 Android 手機 (非平板電腦)
- 使用者的螢幕方向設為「自動旋轉」
- 影片大小至少為 200x200 像素
- 影片使用原生控制選項
- 目前正在播放這部影片
- 影片至少 75% 的面積 (顯示在畫面上)
- 方向旋轉 90 度 (而非 180 度)
- 尚未加入全螢幕元素
- 未透過 Screen Orientation API 鎖定螢幕