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

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die HTMLVideoElement-Methode requestPictureInPicture() stellt 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 versetzt wird. Falls die Erlaubnis, diesen Modus zu betreten, erteilt wird, wird das zurückgegebene Promise aufgelöst, und das Video erhält ein enterpictureinpicture-Ereignis, um darüber zu informieren, 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 darauf zu hören, wenn ein Benutzer dieses schwebende Fenster in der Größe ändern wird.

Ausnahmen

NotSupportedError DOMException

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

SecurityError DOMException

Wird ausgelöst, wenn die Funktion durch eine Berechtigungsrichtlinie blockiert ist.

InvalidStateError DOMException

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

NotAllowedError DOMException

Wird ausgelöst, wenn document.pictureInPictureElement null ist und das Dokument keine flüchtige Aktivierung hat.

Sicherheit

Flüchtige Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.

Beispiele

Dieses Beispiel fordert, dass das Video in den Bild-in-Bild-Modus wechselt, und legt einen Ereignislistener fest, um das Ändern der Größe des schwebenden Fensters zu behandeln.

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

Spezifikationen

Specification
Picture-in-Picture
# request-pip

Browser-Kompatibilität

Siehe auch