The MediaTrackConstraints dictionary is used to describe a set of capabilities and the value or values each can take on. A constraints dictionary is passed into applyConstraints() to allow a script to establish a set of exact (required) values or ranges and/or preferred values or ranges of values for the track, and the most recently-requested set of custom constraints can be retrieved by calling getConstraints().
For each constraint, you can typically specify an exact value you need, an ideal value you want, a range of acceptable values, and/or a value which you'd like to be as close to as possible. The specifics vary somewhat depending on the type of the constrainable property.
To learn more about how constraints work, see Capabilities, constraints, and settings.
Some combination—but not necessarily all—of the following properties will exist on the object.
deviceIdConstrainDOMString object specifying a device ID or an array of device IDs which are acceptable and/or required.groupIdConstrainDOMString object specifying a group ID or an array of group IDs which are acceptable and/or required.channelCountConstrainLong specifying the channel count or range of channel counts which are acceptable and/or required.echoCancellationConstrainBoolean object specifying whether or not echo cancellation is required or preferred and/or required.latencyConstrainDouble specifying the latency or range of latencies which are acceptable and/or required.sampleRateConstrainLong specifying the sample rate or range of sample rates which are acceptable and/or required.sampleSizeConstrainLong specifying the sample size or range of sample sizes which are acceptable and/or required.volumeConstrainDouble specifying the volume or range of volumes which are acceptable and/or required.aspectRatioConstrainDouble specifying the video aspect ratio or range of aspect ratios which are acceptable and/or required.facingModeConstrainDOMString object specifying a facing or an array of facings which are acceptable and/or required.frameRateConstrainDouble specifying the frame rate or range of frame rates which are acceptable and/or required.heightConstrainLong specifying the video height or range of heights which are acceptable and/or required.widthConstrainLong specifying the video width or range of widths which are acceptable and/or required.MediaDevices.getUserMedia()MediaStreamTrack.getConstraints()MediaStreamTrack.applyConstraints()MediaDevices.getSupportedConstraints()MediaTrackSupportedConstraintsMediaStreamTrack.getSettings()
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints