Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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

NotSupportedError DOMException

Wird ausgelöst, wenn die Funktion nicht unterstützt wird (z. B. deaktiviert durch eine Benutzereinstellung oder durch eine Plattformbeschränkung).

SecurityError DOMException

Wird ausgelöst, wenn die Funktion durch eine Permissions Policy blockiert wird.

InvalidStateError DOMException

Wird ausgelöst, wenn der readState des Videoelements HAVE_NOTHING ist, das Videoelement keine Videospur hat oder das disablePictureInPicture-Attribut des Videoelements true ist.

NotAllowedError DOMException

Wird ausgelöst, wenn document.pictureInPictureElement null ist 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.

js
function enterPictureInPicture() {
  videoElement.requestPictureInPicture().then((pictureInPictureWindow) => {
    pictureInPictureWindow.addEventListener("resize", () =>
      onPipWindowResize(),
    );
  });
}

Spezifikationen

Spezifikation
Picture-in-Picture
# dom-htmlvideoelement-requestpictureinpicture

Browser-Kompatibilität

Siehe auch