MediaTrackConstraints
Das MediaTrackConstraints
-Wörterbuch wird verwendet, um eine Reihe von Medienfähigkeiten zu beschreiben und die Werte, die jeder annehmen kann.
Ein Einschränkungs-Wörterbuch wird an die applyConstraints()
-Methode des MediaStreamTrack
-Interfaces übergeben, um einem Skript zu ermöglichen, einen Satz exakter (erforderlicher) Werte oder Bereiche und/oder bevorzugter Werte oder Wertebereiche für die Spur festzulegen.
Der zuletzt angeforderte Satz benutzerdefinierter Einschränkungen kann durch Aufrufen von getConstraints()
abgerufen werden.
Objekte dieser Art können auch übergeben werden an:
-
Die
MediaDevices.getUserMedia()
-Methode, um Einschränkungen für einen von Hardware wie einer Kamera oder einem Mikrofon angeforderten Medienstrom anzugeben. -
Die
MediaDevices.getDisplayMedia()
-Methode, um Einschränkungen für einen von einer Bildschirm- oder Fensterauswahl angeforderten Medienstrom anzugeben.
Einschränkungen
Die folgenden Typen werden verwendet, um eine Einschränkung für eine Eigenschaft anzugeben. Sie erlauben Ihnen, einen oder mehrere exact
Werte anzugeben, aus denen einer der Parameterwert sein muss, oder eine Reihe von ideal
Werten, die nach Möglichkeit verwendet werden sollten. Sie können auch einen einzelnen Wert (oder ein Array von Werten) angeben, den der Benutzeragent nach Möglichkeit nach der Anwendung aller strengeren Einschränkungen erfüllen wird.
Um mehr darüber zu erfahren, wie Einschränkungen funktionieren, siehe Fähigkeiten, Einschränkungen und Einstellungen.
Hinweis: min
und exact
Werte sind in Einschränkungen, die in MediaDevices.getDisplayMedia()
-Aufrufen verwendet werden, nicht erlaubt — sie erzeugen einen TypeError
— aber sie sind in Einschränkungen, die in MediaStreamTrack.applyConstraints()
-Aufrufen verwendet werden, erlaubt.
ConstrainBoolean
Der ConstrainBoolean
-Einschränkungs-Typ wird verwendet, um eine Einschränkung für eine Eigenschaft anzugeben, deren Wert ein Boolescher Wert ist. Sein Wert kann entweder auf einen Booleschen Wert (true
oder false
) oder ein Objekt mit den folgenden Eigenschaften gesetzt werden:
exact
-
Ein boolescher Wert, der der Wert der Eigenschaft sein muss. Wenn die Eigenschaft nicht auf diesen Wert gesetzt werden kann, schlägt das Matching fehl.
ideal
-
Ein boolescher Wert, der einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, verwendet der Benutzeragent den nächstmöglichen Wert.
ConstrainBooleanOrDOMString
Der ConstrainBooleanOrDOMString
-Einschränkungs-Typ wird verwendet, um eine Einschränkung für eine Eigenschaft anzugeben, deren Wert ein Boolescher oder Zeichenfolgenwert ist. Er kann Werte annehmen, wie sie in den Abschnitten ConstrainBoolean
und ConstrainDOMString
angegeben sind.
ConstrainDouble
Der ConstrainDouble
-Einschränkungs-Typ wird verwendet, um eine Einschränkung für eine Eigenschaft anzugeben, deren Wert eine doppeltpräzise Gleitkommazahl ist. Sein Wert kann entweder auf eine Zahl oder ein Objekt mit den folgenden Eigenschaften gesetzt werden:
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 das Matching 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 das Matching fehl.
exact
-
Eine Dezimalzahl, die einen spezifischen, erforderlichen Wert angibt, den die Eigenschaft haben muss, um als akzeptabel zu gelten.
ideal
-
Eine Dezimalzahl, die einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, verwendet der Benutzeragent den nächstmöglichen Wert.
ConstrainDOMString
Der ConstrainDOMString
-Einschränkungs-Typ wird verwendet, um eine Einschränkung für eine Eigenschaft anzugeben, deren Wert eine Zeichenfolge ist. Sein Wert kann entweder auf eine Zeichenfolge, ein Array von Zeichenfolgen oder ein Objekt mit den folgenden Eigenschaften gesetzt werden:
exact
-
Eine Zeichenfolge oder ein Array von Zeichenfolgen, von denen eine der Wert der Eigenschaft sein muss. Wenn die Eigenschaft nicht auf einen der aufgeführten Werte gesetzt werden kann, schlägt das Matching fehl.
ideal
-
Eine Zeichenfolge oder ein Array von Zeichenfolgen, die ideale Werte für die Eigenschaft angeben. Wenn möglich, wird einer der aufgeführten Werte verwendet, aber wenn es nicht möglich ist, verwendet der Benutzeragent den nächstmöglichen Wert.
ConstrainULong
Der ConstrainULong
-Einschränkungs-Typ wird verwendet, um eine Einschränkung für eine Eigenschaft anzugeben, deren Wert eine ganze Zahl ist. Sein Wert kann entweder auf eine Zahl oder ein Objekt mit den folgenden Eigenschaften gesetzt werden:
max
-
Eine ganze Zahl, 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 das Matching fehl.
min
-
Eine ganze Zahl, 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 das Matching fehl.
exact
-
Eine ganze Zahl, die einen spezifischen, erforderlichen Wert angibt, den die Eigenschaft haben muss, um als akzeptabel zu gelten.
ideal
-
Eine ganze Zahl, die einen idealen Wert für die Eigenschaft angibt. Wenn möglich, wird dieser Wert verwendet, aber wenn es nicht möglich ist, verwendet der Benutzeragent den nächstmöglichen Wert.
Instanzeigenschaften
Einige Kombinationen—aber nicht unbedingt alle—der folgenden Eigenschaften werden auf dem Objekt existieren. Dies kann daran liegen, dass 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 Spur, die mit einer RTCPeerConnection
verbunden ist, bestimmte 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 Pegelregelung bevorzugt und/oder erforderlich ist. channelCount
-
Ein
ConstrainULong
, das die Kanalanzahl oder den Bereich von Kanalanzahlen angibt, die akzeptabel und/oder erforderlich sind. echoCancellation
-
Ein
ConstrainBooleanOrDOMString
-Objekt, das angibt, ob Echounterdrückung bevorzugt und/oder erforderlich ist und welcher Typ, falls unterstützt. 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
, das einen der Werte"none"
,"manual"
,"single-shot"
oder"continuous"
angibt. exposureMode
-
Ein
String
, das einen der Werte"none"
,"manual"
,"single-shot"
oder"continuous"
angibt. focusMode
-
Ein
String
, das einen der Werte"none"
,"manual"
,"single-shot"
oder"continuous"
angibt. pointsOfInterest
-
Die Pixelkoordinaten auf dem Sensor von einem oder mehreren Interessenpunkten. Dies ist entweder ein Objekt in der Form { x:wert, y:wert } oder ein Array solcher Objekte, wobei wert ein doppeltpräziser Ganzzahlwert ist.
exposureCompensation
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der eine Blendenkorrektur um bis zu ±3 angibt. colorTemperature
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der eine gewünschte Farbtemperatur in Grad Kelvin angibt. iso
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der eine gewünschte ISO-Einstellung angibt. brightness
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der eine gewünschte Helligkeitseinstellung angibt. contrast
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der den Grad des Unterschieds zwischen Hell und Dunkel angibt. saturation
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der den Grad der Farbintensität angibt. -
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der die Intensität der Kanten angibt. focusDistance
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der den Abstand zu einem fokussierten Objekt angibt. zoom
-
Ein
ConstrainDouble
(ein doppeltpräziser Ganzzahlwert), der die gewünschte Brennweite angibt. torch
-
Ein boolescher Wert, der angibt, ob das Fülllicht kontinuierlich eingeschaltet ist, d.h. es bleibt eingeschaltet, solange die Spur aktiv ist.
Instanzeigenschaften von Videospuren
aspectRatio
-
Ein
ConstrainDouble
, der das Video-Seitenverhältnis oder den Bereich von Seitenverhältnissen angibt, die akzeptabel und/oder erforderlich sind. facingMode
-
Ein
ConstrainDOMString
-Objekt, das einen Face-Wert oder ein Array von Face-Werten angibt, die akzeptabel und/oder erforderlich sind. frameRate
-
Ein
ConstrainDouble
, der die Bildwiederholrate oder den Bereich von Bildwiederholraten 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 ein Array von Modi angibt, die die UA verwenden kann, um die Auflösung und die Bildwiederholrate einer Videospur abzuleiten. Erlaubte Werte sind:crop-and-scale
-
Der Benutzeragent kann das Zuschneiden und das Herunterskalieren von Auflösung oder Bildwiederholrate auf dem Rohmaterial der Hardware/OS verwenden, um andere Einschränkungen zu erfüllen. Diese Einschränkung ermöglicht Entwicklern, ein herunterskaliertes Video zu erhalten, auch wenn das durch ihre Einschränkungen angegebene Format nicht nativ von der Hardware unterstützt wird.
none
-
Der Benutzeragent verwendet die Auflösung, die von der zugrunde liegenden Hardware, wie einer Kamera oder ihrem Treiber, oder dem Betriebssystem bereitgestellt wird.
Wenn
resizeMode
nicht angegeben ist, wählt der Browser eine Auflösung basierend auf einer Fitness-Distanz, die die festgelegten Einschränkungen und beide der erlaubten Werte berücksichtigt.
Instanzeigenschaften von geteilten Bildschirmspuren
Diese Einschränkungen gelten für die video
-Eigenschaft des Objekts, das in getDisplayMedia()
übergeben wird, um einen Stream für das Teilen des Bildschirms zu erhalten.
displaySurface
-
Ein
ConstrainDOMString
, der die Arten von Anzeigeflächen angibt, die der Benutzer auswählen kann. Dies kann eine einzelne der folgenden Zeichenfolgen sein oder eine Liste von ihnen, um mehrere Quellflächen zuzulassen: logicalSurface
-
Ein
ConstrainBoolean
-Wert, der einen einzelnen booleschen Wert oder einen Satz von ihnen enthalten kann und angibt, ob der Benutzer die Auswahl von Quellflächen erlaubt werden soll, die nicht direkt Anzeigebereichen entsprechen. Dazu können Puffer für Fenster gehören, um die Erfassung von Fensterinhalten zu ermöglichen, die von anderen Fenstern überlagert werden, oder Puffer, die größere Dokumente enthalten, die durchgescrollt werden müssen, um die gesamten Inhalte in ihren Fenstern anzuzeigen. suppressLocalAudioPlayback
Experimentell-
Ein
ConstrainBoolean
-Wert, der die angeforderten oder obligatorischen Einschränkungen beschreibt, die auf den Wert der eigenschaftsuppressLocalAudioPlayback
gelegt werden. Diese Eigenschaft steuert, ob das Audio, das in einem Tab wiedergegeben wird, weiterhin über die lokalen Lautsprecher des Benutzers wiedergegeben wird, wenn der Tab erfasst wird.
Spezifikationen
Specification |
---|
Media Capture and Streams> # dom-mediatrackconstraints> |
Screen Capture> # extensions-to-mediatrackconstraintset> |
Siehe auch
- Medienaufnahme und Streams API
- Fähigkeiten, Einschränkungen und Einstellungen
- Bildschirmaufnahme API
- Verwendung der Bildschirmaufnahme-API
MediaStreamTrack.getConstraints()
MediaStreamTrack.applyConstraints()
MediaDevices.getUserMedia()
MediaDevices.getDisplayMedia()
MediaDevices.getSupportedConstraints()
MediaTrackSupportedConstraints
MediaStreamTrack.getSettings()