HTMLVideoElement: requestPictureInPicture() 方法
HTMLVideoElement 方法 requestPictureInPicture() 發出非同步請求,將影片顯示在畫中畫模式下。
影片不一定能進入畫中畫模式。如果授予了進入該模式的許可權,則返回的 Promise 將會解決,並且影片會收到一個 enterpictureinpicture 事件,告知它現在已處於畫中畫模式。
語法
js
requestPictureInPicture()
引數
無。
返回值
一個 Promise,它會解析為一個 PictureInPictureWindow 物件,該物件可用於在使用者調整此浮動視窗大小時進行監聽。
異常
NotSupportedErrorDOMException-
如果該功能不受支援(例如,由於使用者偏好設定或平臺限制而被停用)則丟擲。
SecurityErrorDOMException-
如果該功能被 許可權策略 (Permissions Policy) 阻止,則丟擲。
InvalidStateErrorDOMException-
如果影片元素的
readState為HAVE_NOTHING,或者影片元素沒有影片軌道,或者影片元素的disablePictureInPicture屬性為true,則丟擲。 NotAllowedErrorDOMException-
如果
document.pictureInPictureElement為null且文件沒有 瞬時啟用 (transient activation),則丟擲。
安全
需要 瞬時使用者啟用 (Transient user activation)。使用者必須與頁面或 UI 元素進行互動,此功能才能工作。
示例
此示例請求影片進入畫中畫模式,並設定一個事件監聽器來處理浮動視窗的調整大小。
js
function enterPictureInPicture() {
videoElement.requestPictureInPicture().then((pictureInPictureWindow) => {
pictureInPictureWindow.addEventListener("resize", () =>
onPipWindowResize(),
);
});
}
規範
| 規範 |
|---|
| 畫中畫 # request-pip |
瀏覽器相容性
載入中…