HTMLVideoElement: requestPictureInPicture() メソッド
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
HTMLVideoElement の requestPictureInPicture() メソッドは、動画をピクチャインピクチャモードで表示するための非同期のリクエストを発行します。
動画がピクチャインピクチャになることは保証されていません。そのモードに入る権限が与えられている場合、返された Promise は解決され、動画は enterpictureinpicture イベントを受け取り、これでピクチャインピクチャになったことを知らせます。
構文
requestPictureInPicture()
引数
なし。
返値
Promise で、ユーザーがその浮動ウィンドウのサイズを変更するときに使用することができる PictureInPictureWindow オブジェクトに解決します。
例外
NotSupportedErrorDOMException-
Tこの機能に対応してない場合(ユーザー設定で無効になっている場合や、プラットフォームの制限により無効になっている場合など)に発生します。
SecurityErrorDOMException-
この機能の使用が権限ポリシーによってブロックされた場合。
InvalidStateErrorDOMException-
video 要素の
readStateがHAVE_NOTHINGの場合、video 要素に動画トラックが存在しない場合、または video 要素のdisablePictureInPicture属性がtrueの場合に発生します。 NotAllowedErrorDOMException-
document.pictureInPictureElementがnullで、かつ文書の一時的な有効化がない場合に発生します。
セキュリティ
ユーザーによる一時的な有効化が必要です。この機能が動作するには、ユーザーがページまたは UI 要素を操作する必要があります。
例
この例では、動画がピクチャインピクチャモードになるようにリクエストされ、浮動ウィンドウのリサイズを処理するためのイベントリスナーを設定します。
function enterPictureInPicture() {
videoElement.requestPictureInPicture().then((pictureInPictureWindow) => {
pictureInPictureWindow.addEventListener(
"resize",
() => onPipWindowResize(),
false,
);
});
}
仕様書
| Specification |
|---|
| Picture-in-Picture> # request-pip> |
ブラウザーの互換性
Loading…