Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
MediaStreamTrack: applyConstraints()-Methode
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
* Some parts of this feature may have varying levels of support.
DieapplyConstraints()-Methode derMediaStreamTrack-Schnittstelle wendet eine Reihe von Einschränkungen auf den Track an; diese Einschränkungen ermöglichen es der Website oder App, ideale Werte und akzeptable Wertebereiche für die einschränkbaren Eigenschaften des Tracks festzulegen, wie z.B. Bildrate, Abmessungen, Echounterdrückung und dergleichen.
Einschränkungen können verwendet werden, um sicherzustellen, dass die Medien bestimmten Richtlinien entsprechen, die Sie bevorzugen.Zum Beispiel könnten Sie hochauflösendes Video bevorzugen, aber verlangen, dass die Bildrate etwas niedrig ist, um die Datenrate niedrig genug zu halten, damit das Netzwerk nicht überlastet wird.Einschränkungen können auch ideale und/oder akzeptable Größen oder Größenbereiche spezifizieren.SieheEinschränkungen anwenden inFähigkeiten, Einschränkungen und Einstellungen für weitere Informationen darüber, wie Sie Ihre bevorzugten Einschränkungen anwenden können.
In diesem Artikel
Syntax
applyConstraints()applyConstraints(constraints)Parameter
constraintsOptionalEin
MediaTrackConstraints-Objekt, das die zu den einschränkbaren Eigenschaften des Tracks anzuwendenden Einschränkungen auflistet; bestehende Einschränkungen werden durch die angegebenen neuen Werte ersetzt, und alle nicht enthaltenen einschränkbaren Eigenschaften werden auf ihre standardmäßigen Einschränkungen zurückgesetzt.Wenn dieser Parameter weggelassen wird, werden alle derzeit festgelegten benutzerdefinierten Einschränkungen gelöscht.Dieses Objekt stellt die grundlegende Menge an Einschränkungen dar, die gelten müssen, damit dasPromiseaufgelöst wird.Das Objekt kann eine erweiterte Eigenschaft enthalten, die ein Array weitererMediaTrackConstraints-Objekte enthält, die als genaue Anforderungen behandelt werden.
Rückgabewert
EinPromise, das aufgelöst wird, wenn die Einschränkungen erfolgreich angewendet wurden.Wenn die Einschränkungen nicht angewendet werden können, wird das Promise mit einemOverconstrainedError zurückgewiesen, der einDOMException ist, dessen NameOverconstrainedError lautet, mit zusätzlichen Parametern, um anzuzeigen, dass die Einschränkungen nicht erfüllt werden konnten.Dies kann passieren, wenn die angegebenen Einschränkungen zu strikt sind, um eine Übereinstimmung bei der Konfiguration des Tracks zu finden.
Beispiele
Das folgende Beispiel zeigt, wie man eine grundlegende und erweiterte Menge von Einschränkungen angibt.Es wird spezifiziert, dass die Webseite oder Web-App eine Breite zwischen 640 und 1280 und eine Höhe zwischen 480 und 720 benötigt, wobei die jeweils spätere Zahl in jedem Paar bevorzugt wird.Die erweiterte Eigenschaft spezifiziert weiter, dass eine Bildgröße von 1920 x 1280 bevorzugt wird oder einSeitenverhältnis von 1,333, falls dies nicht verfügbar ist.Beachten Sie, dass diese Einschränkungen auch das darstellen, was die Spezifikation alsBackoff-Strategie bezeichnet.
const constraints = { width: { min: 640, ideal: 1280 }, height: { min: 480, ideal: 720 }, advanced: [{ width: 1920, height: 1280 }, { aspectRatio: 1.333 }],};navigator.mediaDevices.getUserMedia({ video: true }).then((mediaStream) => { const track = mediaStream.getVideoTracks()[0]; track .applyConstraints(constraints) .then(() => { // Do something with the track such as using the Image Capture API. }) .catch((e) => { // The constraints could not be satisfied by the available devices. });});Spezifikationen
| Specification |
|---|
| Media Capture and Streams> # dom-mediastreamtrack-applyconstraints> |