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

View in English Always switch to English

MediaTrackSettings: restrictOwnAudio-Eigenschaft

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

Die restrictOwnAudio-Eigenschaft des MediaTrackSettings-Wörterbuchs steuert, ob Systemaudio, das von dem erfassenden Tab stammt, aus der Bildschirmaufnahme herausgefiltert wird, um in einigen Fällen sauberere Bildschirmaufnahmen zu ermöglichen.

Wenn zum Beispiel die erfassende Webseite selbst eingebettete Audiodaten oder Videos abspielt, würde dieses Audio in die Aufnahme einbezogen werden. Da dies zu einem unerwünschten Echo führen oder die beabsichtigten Audioquellen aus anderen Tabs oder Anwendungen stören könnte, ist es wünschenswert, es aus der Aufnahme zu entfernen.

Wert

Ein boolescher Wert, bei dem true die Einschränkung des Systemaudios des erfassenden Tabs aktiviert und false sie deaktiviert.

Wenn der Wert true ist, wird der User-Agent versuchen, jegliches Audio zu entfernen, das von dem durch den Tab, der MediaDevices.getDisplayMedia() aufgerufen hat, erfassten Audio erzeugt wird. Wenn das Entfernen des Audios durch Verarbeitung fehlschlägt, kann der User-Agent jegliches Audio, das vom erfassenden Tab stammt, ausschließen.

Hinweis: Wenn die erfasste Anzeigeoberfläche kein Systemaudio enthält, hat diese Einstellung keine Wirkung.

Beispiele

Die folgende Funktion richtet ein Einschränkungsobjekt ein, das die Optionen für einen Aufruf von getDisplayMedia() angibt. Es fügt die restrictOwnAudio-Einschränkung (die verlangt, dass das Systemaudio, das vom erfassenden Tab stammt, aus der Bildschirmaufnahme herausgefiltert wird) nur hinzu, wenn bekannt ist, dass sie vom Browser unterstützt wird. Die Erfassung beginnt dann, indem getDisplayMedia() aufgerufen und der zurückgegebene Stream an das <video>-Element angehängt wird, das durch die Variable videoElem referenziert wird.

js
async function capture() {
  const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
  const displayMediaOptions = {
    audio: {},
  };

  if (supportedConstraints.restrictOwnAudio) {
    displayMediaOptions.audio.restrictOwnAudio = true;
  }

  try {
    videoElem.srcObject =
      await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
  } catch (err) {
    /* handle the error */
  }
}

Spezifikationen

This feature does not appear to be defined in any specification.

Browser-Kompatibilität

Siehe auch