HTMLVideoElement: requestPictureInPicture() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Die requestPictureInPicture()-Methode der HTMLVideoElement-Schnittstelle sendet eine asynchrone Anfrage, um das Video im Bild-in-Bild-Modus anzuzeigen.
Es ist nicht garantiert, dass das Video in den Bild-in-Bild-Modus wechselt. Wenn die Erlaubnis für diesen Modus erteilt wird, wird das zurückgegebene Promise aufgelöst und das Video erhält ein enterpictureinpicture-Ereignis, um mitzuteilen, dass es sich nun im Bild-in-Bild-Modus befindet.
Syntax
requestPictureInPicture()
Parameter
Keine.
Rückgabewert
Ein Promise, das zu einem PictureInPictureWindow-Objekt aufgelöst wird, das verwendet werden kann, um zu erkennen, wann ein Benutzer dieses schwebende Fenster größenmäßig verändert.
Ausnahmen
NotSupportedErrorDOMException-
Wird ausgelöst, wenn die Funktion nicht unterstützt wird (z. B. deaktiviert durch eine Benutzereinstellung oder durch eine Plattformbeschränkung).
SecurityErrorDOMException-
Wird ausgelöst, wenn die Funktion durch eine Permissions Policy blockiert wird.
InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
readStatedes VideoelementsHAVE_NOTHINGist, das Videoelement keine Videospur hat oder dasdisablePictureInPicture-Attribut des Videoelementstrueist. NotAllowedErrorDOMException-
Wird ausgelöst, wenn
document.pictureInPictureElementnullist und das Dokument keine transiente Aktivierung hat.
Sicherheit
Transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.
Beispiele
In diesem Beispiel wird angefragt, dass das Video in den Bild-in-Bild-Modus wechselt, und ein Ereignis-Listener wird gesetzt, um die Größenänderung des schwebenden Fensters zu handhaben.
function enterPictureInPicture() {
videoElement.requestPictureInPicture().then((pictureInPictureWindow) => {
pictureInPictureWindow.addEventListener("resize", () =>
onPipWindowResize(),
);
});
}
Spezifikationen
| Spezifikation |
|---|
| Picture-in-Picture> # dom-htmlvideoelement-requestpictureinpicture> |