MediaDevices: getSupportedConstraints() method
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.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The getSupportedConstraints() method of the MediaDevices interface returns an object based on the MediaTrackSupportedConstraints dictionary, whose member fields each specify one of the constrainable properties the user agent understands.
Syntax
getSupportedConstraints()
Parameters
None.
Return value
A new object based on the MediaTrackSupportedConstraints dictionary listing the constraints supported by the user agent.
Because only constraints supported by the user agent are included in the list, each of these Boolean properties has the value true.
Examples
This example outputs a list of the constraints supported by your browser.
const constraintList = document.querySelector("#constraintList");
const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
for (const constraint of Object.keys(supportedConstraints)) {
const elem = document.createElement("li");
elem.appendChild(document.createElement("code")).textContent = constraint;
constraintList.appendChild(elem);
}
Result
Specifications
| Specification |
|---|
| Media Capture and Streams # dom-mediadevices-getsupportedconstraints |
Browser compatibility
| desktop | mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
getSupportedConstraints
|
|
|
|
|
|
|
|
|
|
|
|
|
aspectRatio property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
autoGainControl property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
channelCount property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
deviceId property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
echoCancellation property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
facingMode property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
frameRate property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
groupId property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
height property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
latency property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
noiseSuppression property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
resizeMode property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
sampleRate property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
sampleSize property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
width property in returned object
|
|
|
|
|
|
|
|
|
|
|
|
|
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support