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

View in English Always switch to English

CaptureController: increaseZoomLevel() Methode

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die increaseZoomLevel()-Methode der CaptureController-Schnittstelle erhöht den Zoomfaktor der erfassten Anzeigefläche um einen Schritt.

Die increaseZoomLevel()-Methode muss über eine transiente Aktivierung aufgerufen werden. Außerdem wird der Benutzer um Erlaubnis gebeten, Tabs zu teilen, wenn die Bildschirmaufnahme zum ersten Mal versucht wird; verweigert der Benutzer die Erlaubnis, kann der Zoomfaktor auch mit transiente Aktivierung nicht geändert werden.

Syntax

js
increaseZoomLevel()

Parameter

Keine.

Rückgabewert

Ein Promise, der mit undefined erfüllt wird.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn:

  • Die erfasste Anzeigefläche bereits den maximal unterstützten Zoomfaktor erreicht hat.
  • Ein Versuch unternommen wird, increaseZoomLevel() ohne transiente Aktivierung aufzurufen.
NotAllowedError DOMException

Wird ausgelöst, wenn:

Beispiele

Grundlegende Verwendung von increaseZoomLevel()

Der folgende Code-Ausschnitt fügt einem Button einen Event-Listener hinzu, sodass beim Klicken die increaseZoom()-Funktion aufgerufen wird. Diese wiederum ruft die increaseZoomLevel()-Methode auf und zoomt dadurch die erfasste Oberfläche ein.

js
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
  controller,
});

// ...

incBtn.addEventListener("click", increaseZoom);

async function increaseZoom() {
  try {
    await controller.increaseZoomLevel();
  } catch (e) {
    console.log(e);
  }
}

Es ist allgemein eine bewährte Praxis, increaseZoomLevel() innerhalb eines try...catch-Blocks aufzurufen, da der Zoomfaktor asynchron von einer anderen Entität als der Anwendung geändert werden könnte, was zu einem Fehler führen kann. Beispielsweise könnte der Benutzer direkt mit der erfassten Oberfläche interagieren, um ein- oder auszuzoomen.

Siehe Verwendung der Captured Surface Control API für ein vollständiges Arbeitsbeispiel.

Spezifikationen

Specification
Captured Surface Control
# dom-capturecontroller-increasezoomlevel

Browser-Kompatibilität

Siehe auch