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. -
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 dersuppressLocalAudioPlayback
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
- Media Capture und Streams API
- Fähigkeiten, Constraints und Einstellungen
- Screen Capture API
- Verwendung der Screen Capture API
MediaStreamTrack.getConstraints()
MediaStreamTrack.applyConstraints()
MediaDevices.getUserMedia()
MediaDevices.getDisplayMedia()
MediaDevices.getSupportedConstraints()
MediaTrackSupportedConstraints
MediaStreamTrack.getSettings()