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

View in English Always switch to English

MediaTrackConstraints

Das MediaTrackConstraints-Dictionary beschreibt eine Reihe von Medieneigenschaften und die Werte, die diese jeweils annehmen können.

Ein Dictionary mit Constraints wird an die Methode applyConstraints() der Schnittstelle MediaStreamTrack übergeben. So kann ein Skript für den Track exakte (erforderliche) Werte oder Wertebereiche und/oder bevorzugte Werte oder Wertebereiche festlegen.

Die zuletzt angeforderten benutzerdefinierten Constraints können durch Aufruf von getConstraints() abgerufen werden.

Objekte dieses Typs können auch an folgende Methoden übergeben werden:

  • MediaDevices.getUserMedia(), um Constraints für einen Medienstrom festzulegen, der von Hardware wie einer Kamera oder einem Mikrofon angefordert wird.

  • MediaDevices.getDisplayMedia(), um Constraints für einen Medienstrom festzulegen, der durch die Erfassung eines Bildschirms oder Fensters angefordert wird.

Constraints

Die folgenden Typen werden verwendet, um einen Constraint für eine Eigenschaft festzulegen. Sie können einen oder mehrere exact-Werte angeben, von denen einer der Wert der Eigenschaft sein muss, oder eine Reihe von ideal-Werten, die nach Möglichkeit verwendet werden sollen. Sie können auch einen einzelnen Wert (oder ein Array von Werten) angeben. Der User Agent versucht dann, diesen so gut wie möglich zu erfüllen, nachdem alle strengeren Constraints berücksichtigt wurden.

Weitere Informationen zur Funktionsweise von Constraints finden Sie unter Fähigkeiten, Constraints und Einstellungen.

Hinweis: min- und exact-Werte sind in Constraints für Aufrufe von MediaDevices.getDisplayMedia() nicht zulässig – sie führen zu einem TypeError. In Constraints für Aufrufe von MediaStreamTrack.applyConstraints() sind sie dagegen zulässig.

ConstrainBoolean

Der Constraint-Typ ConstrainBoolean wird verwendet, um einen Constraint für eine Eigenschaft festzulegen, deren Wert ein boolescher Wert ist. Sein Wert kann entweder ein boolescher Wert (true oder false) oder ein Objekt mit den folgenden Eigenschaften sein:

exact

Ein boolescher Wert, den die Eigenschaft annehmen muss. Wenn die Eigenschaft nicht auf diesen Wert gesetzt werden kann, schlägt der Abgleich fehl.

ideal

Ein boolescher Wert, der einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet. Andernfalls verwendet der User Agent die bestmögliche Übereinstimmung.

ConstrainBooleanOrDOMString

Der Constraint-Typ ConstrainBooleanOrDOMString wird verwendet, um einen Constraint für eine Eigenschaft festzulegen, deren Wert ein boolescher Wert oder ein String ist. Er kann Werte annehmen, wie sie in den Abschnitten ConstrainBoolean und ConstrainDOMString beschrieben sind.

ConstrainDouble

Der Constraint-Typ ConstrainDouble wird verwendet, um einen Constraint für eine Eigenschaft festzulegen, deren Wert eine Gleitkommazahl mit doppelter Genauigkeit ist. Sein Wert kann entweder eine Zahl oder ein Objekt mit den folgenden Eigenschaften sein:

max

Eine Dezimalzahl, die den größten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht kleiner oder gleich diesem Wert bleiben kann, schlägt der Abgleich fehl.

min

Eine Dezimalzahl, die den kleinsten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht größer oder gleich diesem Wert bleiben kann, schlägt der Abgleich fehl.

exact

Eine Dezimalzahl, die einen bestimmten erforderlichen Wert angibt, den die Eigenschaft haben muss, um als zulässig zu gelten.

ideal

Eine Dezimalzahl, die einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet. Andernfalls verwendet der User Agent die bestmögliche Übereinstimmung.

ConstrainDOMString

Der Constraint-Typ ConstrainDOMString wird verwendet, um einen Constraint für eine Eigenschaft festzulegen, deren Wert ein String ist. Sein Wert kann entweder ein String, ein Array von Strings oder ein Objekt mit den folgenden Eigenschaften sein:

exact

Ein String oder ein Array von Strings, von denen einer der Wert der Eigenschaft sein muss. Wenn die Eigenschaft nicht auf einen der aufgeführten Werte gesetzt werden kann, schlägt der Abgleich fehl.

ideal

Ein String oder ein Array von Strings, die ideale Werte für die Eigenschaft angeben. Wenn möglich, wird einer der aufgeführten Werte verwendet. Andernfalls verwendet der User Agent die bestmögliche Übereinstimmung.

ConstrainULong

Der Constraint-Typ ConstrainULong wird verwendet, um einen Constraint für eine Eigenschaft festzulegen, deren Wert eine Ganzzahl ist. Sein Wert kann entweder eine Zahl oder ein Objekt mit den folgenden Eigenschaften sein:

max

Eine Ganzzahl, die den größten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht kleiner oder gleich diesem Wert bleiben kann, schlägt der Abgleich fehl.

min

Eine Ganzzahl, die den kleinsten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht größer oder gleich diesem Wert bleiben kann, schlägt der Abgleich fehl.

exact

Eine Ganzzahl, die einen bestimmten erforderlichen Wert angibt, den die Eigenschaft haben muss, um als zulässig zu gelten.

ideal

Eine Ganzzahl, die einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet. Andernfalls verwendet der User Agent die bestmögliche Übereinstimmung.

Instanzeigenschaften

Das Objekt enthält eine Kombination der folgenden Eigenschaften, aber nicht unbedingt alle. Das kann daran liegen, dass ein bestimmter Browser eine Eigenschaft nicht unterstützt oder dass sie nicht anwendbar ist. Da RTP bei der Aushandlung einer WebRTC-Verbindung beispielsweise einige dieser Werte nicht bereitstellt, enthält ein Track, der einer RTCPeerConnection zugeordnet ist, bestimmte Werte wie facingMode oder groupId nicht.

Instanzeigenschaften aller Medientracks

deviceId

Ein ConstrainDOMString-Objekt, das eine Geräte-ID oder ein Array von Geräte-IDs angibt, die zulässig und/oder erforderlich sind.

groupId

Ein ConstrainDOMString-Objekt, das eine Gruppen-ID oder ein Array von Gruppen-IDs angibt, die zulässig und/oder erforderlich sind.

Instanzeigenschaften von Audiotracks

autoGainControl

Ein ConstrainBoolean-Objekt, das angibt, ob eine automatische Verstärkungsregelung bevorzugt und/oder erforderlich ist.

channelCount

Ein ConstrainULong, das die zulässige und/oder erforderliche Kanalanzahl oder den entsprechenden Bereich angibt.

echoCancellation

Ein ConstrainBooleanOrDOMString-Objekt, das angibt, ob eine Echounterdrückung bevorzugt und/oder erforderlich ist und, sofern unterstützt, welcher Typ verwendet werden soll.

latency

Ein ConstrainDouble, das die zulässige und/oder erforderliche Latenz oder den entsprechenden Bereich angibt.

noiseSuppression

Ein ConstrainBoolean, das angibt, ob eine Rauschunterdrückung bevorzugt und/oder erforderlich ist.

sampleRate

Ein ConstrainULong, das die zulässige und/oder erforderliche Abtastrate oder den entsprechenden Bereich angibt.

sampleSize

Ein ConstrainULong, das die zulässige und/oder erforderliche Abtastgröße oder den entsprechenden Bereich angibt.

volume

Ein ConstrainDouble, das die zulässige und/oder erforderliche Lautstärke oder den entsprechenden Bereich angibt.

Instanzeigenschaften von Bildtracks

whiteBalanceMode

Ein String, der "none", "manual", "single-shot" oder "continuous" angibt.

exposureMode

Ein String, der "none", "manual", "single-shot" oder "continuous" angibt.

focusMode

Ein String, der "none", "manual", "single-shot" oder "continuous" angibt.

pointsOfInterest

Die Pixelkoordinaten eines oder mehrerer relevanter Punkte auf dem Sensor. Der Wert ist entweder ein Objekt der Form { x:value, y:value } oder ein Array solcher Objekte, wobei value eine Ganzzahl mit doppelter Genauigkeit ist.

exposureCompensation

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das eine Anpassung des Blendenwerts um bis zu ±3 angibt.

colorTemperature

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das eine gewünschte Farbtemperatur in Kelvin angibt.

iso

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das eine gewünschte ISO-Einstellung angibt.

brightness

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das eine gewünschte Helligkeitseinstellung angibt.

contrast

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das den Grad des Unterschieds zwischen hell und dunkel angibt.

saturation

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das den Grad der Farbintensität angibt.

sharpness

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das die Intensität der Kanten angibt.

focusDistance

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das die Entfernung zu einem fokussierten Objekt angibt.

zoom

Ein ConstrainDouble (eine Ganzzahl mit doppelter Genauigkeit), das die gewünschte Brennweite angibt.

torch

Ein boolescher Wert, der angibt, ob das Aufhelllicht dauerhaft eingeschaltet ist, also so lange leuchtet, wie der Track aktiv ist.

Instanzeigenschaften von Videotracks

aspectRatio

Ein ConstrainDouble, das das zulässige und/oder erforderliche Seitenverhältnis des Videos oder den entsprechenden Bereich angibt.

facingMode

Ein ConstrainDOMString-Objekt, das eine Ausrichtung oder ein Array von Ausrichtungen angibt, die zulässig und/oder erforderlich sind.

frameRate

Ein ConstrainDouble, das die zulässige und/oder erforderliche Bildrate oder den entsprechenden Bereich angibt.

height

Ein ConstrainULong, das die zulässige und/oder erforderliche Videohöhe oder den entsprechenden Bereich angibt.

width

Ein ConstrainULong, das die zulässige und/oder erforderliche Videobreite oder den entsprechenden Bereich angibt.

resizeMode

Ein ConstrainDOMString-Objekt, das einen Modus oder ein Array von Modi angibt, mit denen der User Agent die Auflösung und Bildrate eines Videotracks ableiten kann. Zulässige Werte sind:

crop-and-scale

Der User Agent kann die Rohausgabe der Hardware oder des Betriebssystems zuschneiden und ihre Auflösung oder Bildrate verringern, um andere Constraints zu erfüllen. Dieser Constraint ermöglicht es Entwicklern, ein herunterskaliertes Video zu erhalten, selbst wenn das durch ihre Constraints angegebene Format von der Hardware nicht nativ unterstützt wird.

none

Der User Agent verwendet die Auflösung, die von der zugrunde liegenden Hardware, etwa einer Kamera oder deren Treiber, oder vom Betriebssystem bereitgestellt wird.

Wenn resizeMode nicht angegeben ist, wählt der Browser eine Auflösung anhand einer Fitness-Distanz, die die angegebenen Constraints und beide zulässigen Werte berücksichtigt.

Instanzeigenschaften von Tracks für die Bildschirmfreigabe

Diese Constraints gelten für die Eigenschaft video des Objekts, das an getDisplayMedia() übergeben wird, um einen Medienstrom für die Bildschirmfreigabe zu erhalten.

displaySurface

Ein ConstrainDOMString, das die Typen von Anzeigeflächen angibt, die der Benutzer auswählen kann. Der Wert kann einer der folgenden Strings oder eine Liste davon sein, um mehrere Quellflächen zuzulassen:

browser

Der Medienstrom enthält den Inhalt eines einzelnen, vom Benutzer ausgewählten Browser-Tabs.

monitor

Der Videotrack des Medienstroms enthält den vollständigen Inhalt eines oder mehrerer Bildschirme des Benutzers.

window

Der Medienstrom enthält ein einzelnes Fenster, das der Benutzer zur Freigabe ausgewählt hat.

logicalSurface

Ein ConstrainBoolean-Wert, der einen einzelnen booleschen Wert oder mehrere davon enthalten kann und angibt, ob der Benutzer Quellflächen auswählen darf, die nicht direkt sichtbaren Anzeigebereichen entsprechen. Dazu können Hintergrundpuffer von Fenstern gehören, mit denen sich Fensterinhalte erfassen lassen, die von davorliegenden Fenstern verdeckt werden, oder Puffer mit größeren Dokumenten, durch die gescrollt werden muss, um ihren gesamten Inhalt im jeweiligen Fenster zu sehen.

suppressLocalAudioPlayback

Ein ConstrainBoolean-Wert, der die gewünschten oder zwingenden Constraints für den Wert der konfigurierbaren Eigenschaft suppressLocalAudioPlayback beschreibt. Diese Eigenschaft steuert, ob Audio, das in einem Tab abgespielt wird, während der Erfassung des Tabs weiterhin über die lokalen Lautsprecher des Benutzers wiedergegeben wird.

restrictOwnAudio

Ein ConstrainBoolean-Wert, der die gewünschten oder zwingenden Constraints für den Wert der konfigurierbaren Eigenschaft restrictOwnAudio angibt. Diese Eigenschaft steuert, ob das vom erfassten Tab stammende Systemaudio aus der Bildschirmaufnahme herausgefiltert wird.

Spezifikationen

Spezifikation
Media Capture and Streams
# dom-mediatrackconstraints
Screen Capture
# extensions-to-mediatrackconstraintset

Siehe auch