Notes Available on all platforms behind a flag, but currently only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

Notes Later versions of Chrome support the unprefixed MediaDevices.getUserMedia() which replaced this deprecated method.

EdgeFull support
Yes

FirefoxFull support
17

PrefixedNotes

Full support
17

PrefixedNotes

Prefixed Implemented with the vendor prefix: moz

Notes The constraint syntax described here is available as of Firefox 38. Earlier versions (32-37) used an outdated constraint syntax, but the syntax described here is available there through the adapter.js polyfill.

IENo support
No

OperaFull support
18

Prefixed

Full support
18

Prefixed

Prefixed Implemented with the vendor prefix: webkit

Full support
12

Notes

Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.

SafariNo support
No

WebView AndroidFull support
40

PrefixedNotes

Full support
40

PrefixedNotes

Prefixed Implemented with the vendor prefix: webkit

Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.

Chrome AndroidNo support
No

Edge MobileFull support
Yes

Firefox AndroidFull support
24

PrefixedNotes

Full support
24

PrefixedNotes

Prefixed Implemented with the vendor prefix: moz

Notes The constraint syntax described here is available as of Firefox 38. Earlier versions (32-37) used an outdated constraint syntax, but the syntax described here is available there through the adapter.js polyfill.

Opera AndroidFull support
12

Notes

Full support
12

Notes

Notes An outdated constraint syntax is still in use, but the syntax described here is available through the adapter.js polyfill.

Notes Available on all platforms behind a flag, but currently only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

Notes The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

Notes The function does not exist in insecure contexts. This was not enforced until Chrome 58.

EdgeFull support
Yes

FirefoxFull support
Yes

Notes

Full support
Yes

Notes

Notes Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console.

Notes In addition, starting in Firefox 55, if in supportedConfigurations, either audioCapabilities's or videoCapabilities's contentType value doesn't specify a "codecs" substring to define allowed codecs within the media wrapper, a warning is output to the web console. See note below table for example and correction.

Notes In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown.

IE
?

OperaFull support
29

Notes

Full support
29

Notes

Notes The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

Notes The function does not exist in insecure contexts. This was not enforced until Opera 45.

Safari
?

WebView AndroidFull support
43

Notes

Full support
43

Notes

Notes The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

Notes The function does not exist in insecure contexts. This was not enforced until version 58.

Chrome AndroidFull support
42

Notes

Full support
42

Notes

Notes The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

Notes The function does not exist in insecure contexts. This was not enforced until Chrome 58.

Edge MobileFull support
Yes

Firefox AndroidFull support
Yes

Notes

Full support
Yes

Notes

Notes Starting in Firefox 55, if neither audioCapabilities nor videoCapabilities is specified in supportedConfigurations, a warning is output to the web console.

Notes In addition, starting in Firefox 55, if in supportedConfigurations, either audioCapabilities's or videoCapabilities's contentType value doesn't specify a "codecs" substring to define allowed codecs within the media wrapper, a warning is output to the web console. See note below table for example and correction.

Notes In the future, if neither audioCapabilities nor videoCapabilities is specified in the supportedConfigurations, a NotSupported exception will be thrown.

Opera AndroidFull support
29

Notes

Full support
29

Notes

Notes The spec requires that the passed supportedConfigurations option contain at least one of audioCapabilities or videoCapabilities, and that said parameters include a codec string.

Notes The function does not exist in insecure contexts. This was not enforced until Opera 45.

Notes Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

EdgeFull support
Yes

FirefoxFull support
31

IENo support
No

OperaFull support
26

Notes

Full support
26

Notes

Notes Starting in Opera 46, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

SafariFull support
11.1

WebView AndroidFull support
40

Notes

Full support
40

Notes

Notes Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Chrome AndroidFull support
42

Notes

Full support
42

Notes

Notes Starting in Chrome 59, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.

Edge MobileFull support
Yes

Firefox AndroidFull support
31

Opera AndroidFull support
29

Notes

Full support
29

Notes

Notes Starting in Opera 46, this method cannot send a Blob whose type is not CORS safelisted. This is a temporary change until a mitigation can be found for the security issues that this creates. For more information see Chrome bug 720283.