InputDeviceInfo.getCapabilities()
The getCapabilities() method of the InputDeviceInfo interface returns a MediaTrackCapabilities object describing the primary audio or video track of the device's MediaStream.
Syntax
InputDeviceInfo.getCapabilities();
Parameters
None.
Return value
A MediaTrackCapabilities object containing the following members:
deviceId-
A
ConstrainDOMStringobject containing the device ID. groupId-
A
ConstrainDOMStringobject containing a group ID. autoGainControl>-
A
ConstrainBooleanobject reporting if the source can do auto gain control. If the feature can be controlled by a script the source will report both true and false as possible values. channelCount-
A
ConstrainULongcontaining the channel count or range of channel counts. echoCancellation-
A
ConstrainBooleanobject reporting if the source can do echo cancellation. If the feature can be controlled by a script the source will report both true and false as possible values. latency-
A
ConstrainDoublecontaining the latency or range of latencies. noiseSuppression-
A
ConstrainBooleanobject reporting if the source can do noise suppression. If the feature can be controlled by a script the source will report both true and false as possible values. sampleRate-
A
ConstrainULongcontaining the sample rate or range of sample rates. sampleSize-
A
ConstrainULongcontaining the sample size or range of sample sizes. aspectRatio-
A
ConstrainDoublecontaining the video aspect ratio (width in pixels divided by height in pixels) or range of aspect ratios. facingMode-
A
ConstrainDOMStringobject containing the camera facing mode. A camera may report multiple facings, for example "left" and "user". frameRate-
A
ConstrainDoublecontaining the frame rate or range of frame rates which are acceptable. height-
A
ConstrainULongcontaining the video height or range of heights in pixels. width-
A
ConstrainULongcontaining the video width or range of widths in pixels. resizeMode-
A
ConstrainDOMStringobject containing the mode or an array of modes the UA can use to derive the resolution of the video track.
Note: If the user has not granted permission to access the input device an empty object will be returned.
Examples
In the following example we ask for permission to access audio and video devices with mediaDevices.getUserMedia(), as to use getCapabilities() we need permission to access the devices.
If device is an InputDeviceInfo object, then getCapabilities() will return an object with members representing its capabilities. A video stream will not include auto properties such as noiseSuppression, for example.
// Get permission to access audio or video devices
navigator.mediaDevices.getUserMedia({ audio: true, video: true });
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
console.log(device.getCapabilities()); // a MediaTrackCapabilities object.
});
})
Specifications
| Specification |
|---|
| Media Capture and Streams # dom-inputdeviceinfo-getcapabilities |
Browser compatibility
BCD tables only load in the browser