This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The InputDeviceInfo interface of the Media Capture and Streams API gives access to the capabilities of the input device that it represents.
InputDeviceInfo objects are returned by MediaDevices.enumerateDevices() if the returned device is an audio or video input device.
Also inherits properties from its parent interface, MediaDeviceInfo.
Also inherits methods from its parent interface, MediaDeviceInfo.
InputDeviceInfo.getCapabilities()Returns a MediaTrackCapabilities object describing the primary audio or video track of a device's MediaStream.
The following example gets all media devices with MediaDevices.enumerateDevices(). If any of the devices are input devices then console.log(device) will print an InputDeviceInfo object to the console.
navigator.mediaDevices.enumerateDevices().then((devices) => {
devices.forEach((device) => {
console.log(device); // an InputDeviceInfo object if the device is an input device, otherwise a MediaDeviceInfo object.
});
});
| Specification |
|---|
| Media Capture and Streams> # dom-inputdeviceinfo> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
InputDeviceInfo |
47 | 79 | No | 34 | 11 | 47 | No | 34 | 11 | 5.0 | 47 | 11 |
getCapabilities |
67 | 79 | No | 54 | 17 | 67 | No | 48 | 17 | 9.0 | 67 | 17 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceInfo