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-Wörterbuch wird verwendet, um eine Reihe von Medienfähigkeiten und die Werte oder Wertbereiche zu beschreiben, die jede annehmen kann.

Ein Constraints-Wörterbuch wird in die Methode applyConstraints() der MediaStreamTrack-Schnittstelle übergeben, um einem Skript zu ermöglichen, eine Reihe von genauen (erforderlichen) Werten oder Bereichen und/oder bevorzugten Werten oder Bereichen für die Spur festzulegen.

Die zuletzt angeforderte benutzerdefinierte Constraints-Sammlung kann abgerufen werden, indem getConstraints() aufgerufen wird.

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

  • Die Methode MediaDevices.getUserMedia(), um Constraints für einen von der Hardware wie einer Kamera oder einem Mikrofon angeforderten Datenstrom festzulegen.

  • Die Methode MediaDevices.getDisplayMedia(), um Constraints für einen von der Bildschirm- oder Fensteraufnahme angeforderten Datenstrom festzulegen.

Constraints

Die folgenden Typen werden verwendet, um ein Constraint für eine Eigenschaft anzugeben. Sie ermöglichen es Ihnen, ein oder mehrere exact-Werte anzugeben, von denen einer der Parameterwert sein muss, oder eine Reihe von ideal-Werten, die, wenn möglich, verwendet werden sollten. Sie können auch einen einzelnen Wert (oder ein Array von Werten) angeben, den der Benutzeragent so gut wie möglich passend machen wird, nachdem alle strengeren Constraints angewendet wurden.

Um mehr darüber zu erfahren, wie Constraints funktionieren, siehe Fähigkeiten, Constraints und Einstellungen.

Hinweis: min- und exact-Werte sind in Constraints, die in MediaDevices.getDisplayMedia()-Aufrufen verwendet werden, nicht erlaubt — sie erzeugen einen TypeError —, aber sie sind in Constraints, die in MediaStreamTrack.applyConstraints()-Aufrufen verwendet werden, zulässig.

ConstrainBoolean

Der ConstrainBoolean-Constraint-Typ wird verwendet, um ein Constraint für eine Eigenschaft anzugeben, deren Wert ein Boolescher Wert ist. Sein Wert kann entweder auf einen Booleschen Wert (true oder false) gesetzt werden oder ein Objekt enthalten, das die folgenden Eigenschaften umfasst:

exact

Ein Boolescher Wert, der den Wert der Eigenschaft sein muss. Wenn die Eigenschaft nicht auf diesen Wert gesetzt werden kann, schlägt die Übereinstimmung fehl.

ideal

Ein Boolescher Wert, der einen Idealwert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, wird der Benutzeragent den bestmöglichen passenden Wert verwenden.

ConstrainDouble

Der ConstrainDouble-Constraint-Typ wird verwendet, um ein Constraint für eine Eigenschaft anzugeben, deren Wert eine Gleitkommazahl mit doppelter Genauigkeit ist. Sein Wert kann entweder auf eine Zahl gesetzt werden oder ein Objekt enthalten, das die folgenden Eigenschaften enthält:

max

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

min

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

exact

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

ideal

Eine Dezimalzahl, die einen Idealwert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, wird der Benutzeragent den bestmöglichen passenden Wert verwenden.

ConstrainDOMString

Der ConstrainDOMString-Constraint-Typ wird verwendet, um ein Constraint für eine Eigenschaft anzugeben, deren Wert ein String ist. Sein Wert kann entweder auf einen String, ein Array von Strings oder ein Objekt gesetzt werden, das die folgenden Eigenschaften enthält:

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 die Übereinstimmung fehl.

ideal

Ein String oder ein Array von Strings, die Idealwerte für die Eigenschaft angeben. Wenn möglich, wird einer der aufgelisteten Werte verwendet, aber wenn es nicht möglich ist, wird der Benutzeragent den bestmöglichen passenden Wert verwenden.

ConstrainULong

Der ConstrainULong-Constraint-Typ wird verwendet, um ein Constraint für eine Eigenschaft anzugeben, deren Wert ein Ganzzahlwert ist. Sein Wert kann entweder auf eine Zahl gesetzt werden oder ein Objekt enthalten, das die folgenden Eigenschaften umfasst:

max

Ein ganzzahliger Wert, der den größten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht gleich oder kleiner als dieser Wert bleiben kann, schlägt die Übereinstimmung fehl.

min

Ein ganzzahliger Wert, der den kleinsten zulässigen Wert der beschriebenen Eigenschaft angibt. Wenn der Wert nicht gleich oder größer als dieser Wert bleiben kann, schlägt die Übereinstimmung fehl.

exact

Ein ganzzahliger Wert, der einen bestimmten, erforderlichen Wert angibt, den die Eigenschaft haben muss, um als akzeptabel zu gelten.

ideal

Ein ganzzahliger Wert, der einen Idealwert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, wird der Benutzeragent den bestmöglichen passenden Wert verwenden.

Instanzeigenschaften

Eine Kombination aus einigen, aber nicht unbedingt allen, der folgenden Eigenschaften wird auf dem Objekt existieren. Dies kann der Fall sein, weil ein bestimmter Browser die Eigenschaft nicht unterstützt oder weil sie nicht zutrifft. Zum Beispiel, weil RTP einige dieser Werte während der Aushandlung einer WebRTC-Verbindung nicht bereitstellt, wird eine mit einer RTCPeerConnection verknüpfte Spur einige Werte wie facingMode oder groupId nicht enthalten.

Instanzeigenschaften aller Medienspuren

deviceId

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

groupId

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

Instanzeigenschaften von Audiospuren

autoGainControl

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

channelCount

Ein ConstrainULong, das die Kanalzahl oder den Bereich von Kanalzahlen angibt, die akzeptabel und/oder erforderlich sind.

echoCancellation

Ein ConstrainBoolean-Objekt, das angibt, ob Echounterdrückung bevorzugt und/oder erforderlich ist.

latency

Ein ConstrainDouble, das die Latenz oder den Bereich von Latenzen angibt, die akzeptabel und/oder erforderlich sind.

noiseSuppression

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

sampleRate

Ein ConstrainULong, das die Abtastrate oder den Bereich von Abtastraten angibt, die akzeptabel und/oder erforderlich sind.

sampleSize

Ein ConstrainULong, das die Abtastgröße oder den Bereich von Abtastgrößen angibt, die akzeptabel und/oder erforderlich sind.

volume Veraltet Nicht standardisiert

Ein ConstrainDouble, das die Lautstärke oder den Bereich von Lautstärken angibt, die akzeptabel und/oder erforderlich sind.

Instanzeigenschaften von Bildspuren

whiteBalanceMode

Ein String, der einen der folgenden Werte angibt: "none", "manual", "single-shot" oder "continuous".

exposureMode

Ein String, der einen der folgenden Werte angibt: "none", "manual", "single-shot" oder "continuous".

focusMode

Ein String, der einen der folgenden Werte angibt: "none", "manual", "single-shot" oder "continuous".

pointsOfInterest

Die Pixelkoordinaten auf dem Sensor von einem oder mehreren Interessenspunkten. Dies ist entweder ein Objekt in der Form { x:value, y:value } oder ein Array solcher Objekte, wobei value ein Gleitkommawert mit doppelter Genauigkeit ist.

exposureCompensation

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der eine Blendenkorrektur um bis zu ±3 angibt.

colorTemperature

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der eine gewünschte Farbtemperatur in Grad Kelvin angibt.

iso

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der eine gewünschte ISO-Einstellung angibt.

brightness

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der eine gewünschte Helligkeitseinstellung angibt.

contrast

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der den Grad des Unterschieds zwischen hell und dunkel angibt.

saturation

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der den Grad der Farbintensität angibt.

sharpness

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der die Intensität der Kanten angibt.

focusDistance

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der die Entfernung zu einem fokussierten Objekt angibt.

zoom

Ein ConstrainDouble (ein Gleitkommawert mit doppelter Genauigkeit), der die gewünschte Brennweite angibt.

torch

Ein Boolescher Wert, der angibt, ob das Fülllicht kontinuierlich verbunden ist, was bedeutet, dass es eingeschaltet bleibt, solange die Spur aktiv ist.

Instanzeigenschaften von Videospuren

aspectRatio

Ein ConstrainDouble, der das Video-Seitenverhältnis oder eine Reihe von Seitenverhältnissen angibt, die akzeptabel und/oder erforderlich sind.

facingMode

Ein ConstrainDOMString-Objekt, das eine Ansicht oder eine Reihe von Ansichten angibt, die akzeptabel und/oder erforderlich sind.

frameRate

Ein ConstrainDouble, der die Bildrate oder den Bereich von Bildraten angibt, die akzeptabel und/oder erforderlich sind.

height

Ein ConstrainULong, der die Videohöhe oder den Bereich von Höhen angibt, die akzeptabel und/oder erforderlich sind.

width

Ein ConstrainULong, der die Videobreite oder den Bereich von Breiten angibt, die akzeptabel und/oder erforderlich sind.

resizeMode

Ein ConstrainDOMString-Objekt, das einen Modus oder eine Reihe von Modi angibt, die der Benutzeragent verwenden kann, um die Auflösung und Bildrate einer Videospur abzuleiten. Erlaubte Werte sind:

crop-and-scale

Der Benutzeragent kann Zuschneiden und Herunterskalieren von Auflösung oder Bildrate auf dem Rohoutput der Hardware/OS verwenden, um andere Constraints zu erfüllen. Dieses Constraint ermöglicht es Entwicklern, ein herunterskaliertes Video zu erhalten, selbst wenn das durch ihre Constraints angegebene spezielle Format nicht nativ von der Hardware unterstützt wird.

none

Der Benutzeragent verwendet die von der zugrundeliegenden Hardware bereitgestellte Auflösung, wie zum Beispiel eine Kamera oder deren Treiber, oder das Betriebssystem.

Wenn resizeMode nicht angegeben ist, wird der Browser eine Auflösung basierend auf einer fitness distance auswählen, die die angegebenen Constraints und beide der erlaubten Werte berücksichtigt.

Instanzeigenschaften von geteilten Bildschirmspuren

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

displaySurface

Ein ConstrainDOMString, das die Arten von Anzeigeflächen angibt, die der Benutzer auswählen kann. Dies kann eine der folgenden Zeichenfolgen sein oder eine Liste davon, um mehrere Quellflächen zuzulassen:

browser

Der Stream enthält die Inhalte eines einzelnen Browsers-Tabs, der vom Benutzer ausgewählt wurde.

monitor

Der Videostream des Streams enthält den gesamten Inhalt eines oder mehrerer Bildschirme des Benutzers.

window

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

logicalSurface

Ein ConstrainBoolean-Wert, der einen einzelnen Booleschen Wert oder eine Menge davon enthalten kann, der angibt, ob es dem Benutzer erlaubt ist, Quellflächen auszuwählen, die nicht direkt den Anzeigebereichen entsprechen. Diese können Rückpuffer für Fenster enthalten, um die Aufnahme von Fensterinhalten zu ermöglichen, die von anderen Fenstern davor verdeckt sind, oder Puffer, die größere Dokumente enthalten, die durchscrollen müssen, um die gesamten Inhalte in ihren Fenstern anzuzeigen.

suppressLocalAudioPlayback Experimentell

Ein ConstrainBoolean-Wert, der die gewünschten oder obligatorischen Constraints beschreibt, die auf den Wert der suppressLocalAudioPlayback einschränkbaren Eigenschaft angewendet werden. Diese Eigenschaft steuert, ob das Audio, das in einem Tab gespielt wird, weiterhin aus den lokalen Lautsprechern eines Benutzers abgespielt wird, wenn der Tab erfasst wird.

Spezifikationen

Specification
Media Capture and Streams
# dom-mediatrackconstraints

Siehe auch