{
"api": {
"MediaDevices": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices",
"support": {
"chrome": {
"version_added": "47"
},
"chrome_android": {
"version_added": "47"
},
"edge": {
"version_added": "≤18"
},
"firefox": {
"version_added": "33"
},
"firefox_android": {
"version_added": "36"
},
"ie": {
"version_added": false
},
"opera": {
"version_added": "30"
},
"opera_android": {
"version_added": "30"
},
"safari": {
"version_added": "11"
},
"safari_ios": {
"version_added": "11"
},
"samsunginternet_android": {
"version_added": "5.0"
},
"webview_android": {
"version_added": "47"
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
},
"devicechange_event": {
"__compat": {
"description": "devicechange
event",
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/devicechange_event",
"support": {
"chrome": {
"version_added": "57"
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "52"
},
"firefox_android": {
"version_added": null
},
"ie": {
"version_added": false
},
"opera": {
"version_added": "34"
},
"opera_android": {
"version_added": "43"
},
"safari": {
"version_added": false
},
"safari_ios": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"enumerateDevices": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices",
"support": {
"chrome": {
"version_added": "47"
},
"chrome_android": {
"version_added": "47"
},
"edge": {
"version_added": "12"
},
"firefox": [
{
"version_added": "63",
"flags": [
{
"type": "preference",
"name": "media.setsinkid.enabled",
"value_to_set": "true"
}
],
"notes": "Prior to Firefox 63, enumerateDevices()
only returned input devices. Starting with Firefox 63, output devices are also included if the media.setsinkid.enabled
preference is enabled."
},
{
"version_added": "39"
}
],
"firefox_android": [
{
"version_added": "63",
"flags": [
{
"type": "preference",
"name": "media.setsinkid.enabled",
"value_to_set": "true"
}
],
"notes": "Prior to Firefox 63, enumerateDevices()
only returned input devices. Starting with Firefox 63, output devices are also included if the media.setsinkid.enabled
preference is enabled."
},
{
"version_added": "39"
}
],
"ie": {
"version_added": false
},
"opera": {
"version_added": "34"
},
"opera_android": {
"version_added": "34"
},
"safari": {
"version_added": "11"
},
"safari_ios": {
"version_added": "11"
},
"samsunginternet_android": {
"version_added": "5.0"
},
"webview_android": {
"version_added": "47"
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"getDisplayMedia": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia",
"description": "getDisplayMedia()
",
"support": {
"chrome": [
{
"version_added": "72"
},
{
"version_added": "70",
"version_removed": "72",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Available as a member of Navigator
instead of MediaDevices
in Chrome 70 and 71."
}
],
"chrome_android": {
"version_added": false
},
"edge": [
{
"version_added": "79"
},
{
"version_added": "17",
"notes": "Available as a member of Navigator
instead of MediaDevices
."
}
],
"firefox": [
{
"version_added": "66"
},
{
"version_added": "33",
"version_removed": "66",
"notes": "Since Firefox 33 you can capture screen data using getUserMedia()
, with a video
constraint called mediaSource
. Prior to 52 it relied on a client-configurable list of allowed sites."
}
],
"firefox_android": {
"version_added": false,
"notes": "API is available, but will always fail with NotAllowedError
."
},
"ie": {
"version_added": false
},
"opera": [
{
"version_added": "60"
},
{
"version_added": "57",
"version_removed": "60",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Available as a member of Navigator
instead of MediaDevices
in Opera 57 and 58."
}
],
"opera_android": {
"version_added": false
},
"safari": {
"version_added": "13"
},
"safari_ios": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false,
"notes": "API is available, but will always fail with NotAllowedError
."
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
},
"audio-capture-support": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/Screen_Capture_API/Using_Screen_Capture#Capturing_shared_audio",
"description": "Audio capture support",
"support": {
"chrome": {
"version_added": "74",
"notes": "On Windows and Chrome OS the entire system audio can be captured, but on Linux and Mac only the audio of a tab can be captured."
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": "≤79",
"notes": "On Windows and Edge OS the entire system audio can be captured, but on Linux and Mac only the audio of a tab can be captured."
},
"firefox": {
"version_added": false
},
"firefox_android": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": null
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"safari_ios": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
},
"getSupportedConstraints": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getSupportedConstraints",
"support": {
"chrome": {
"version_added": "53"
},
"chrome_android": {
"version_added": "52"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "44"
},
"firefox_android": {
"version_added": "50"
},
"ie": {
"version_added": false
},
"opera": {
"version_added": "40"
},
"opera_android": {
"version_added": "41"
},
"safari": {
"version_added": "11"
},
"safari_ios": {
"version_added": "11"
},
"samsunginternet_android": {
"version_added": "6.0"
},
"webview_android": {
"version_added": "53"
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"getUserMedia": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia",
"support": {
"chrome": [
{
"version_added": "52"
},
{
"version_added": "47",
"version_removed": "52",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Older versions of Chrome implement navigator.webkitGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API."
}
],
"chrome_android": [
{
"version_added": "52"
},
{
"version_added": "47",
"version_removed": "52",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Older versions of Chrome implement navigator.webkitGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API."
}
],
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "36",
"notes": [
"Older versions of Firefox implement navigator.mozGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API.",
"Before Firefox 55, getUserMedia()
incorrectly returns NotSupportedError
when the list of constraints specified is empty, or has all constraints set to false
. Starting in Firefox 55, this situation now correctly calls the failure handler with a TypeError
.",
"When using the Firefox-specific video
constraint called mediaSource
to request display capture, Firefox 66 and later consider values of screen
and window
to both cause a list of screens and windows to be shown.",
"Starting in Firefox 66, getUserMedia()
can no longer be used in sandboxed <iframe>
s or data
URLs entered in the address bar by the user."
]
},
"firefox_android": {
"version_added": "36",
"notes": [
"Older versions of Firefox implement navigator.mozGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API.",
"Before Firefox 55, getUserMedia()
incorrectly returns NotSupportedError
when the list of constraints specified is empty, or has all constraints set to false
. Starting in Firefox 55, this situation now correctly calls the failure handler with a TypeError
.",
"When using the Firefox-specific video
constraint called mediaSource
to request display capture, Firefox 66 and later consider values of screen
and window
to both cause a list of screens and windows to be shown.",
"Starting in Firefox 66, getUserMedia()
can no longer be used in sandboxed <iframe>
s or data
URLs entered in the address bar by the user."
]
},
"ie": {
"version_added": false
},
"opera": [
{
"version_added": "40"
},
{
"version_added": "34",
"version_removed": "40",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Older versions of Opera implement navigator.webkitGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API."
}
],
"opera_android": [
{
"version_added": "41"
},
{
"version_added": "34",
"version_removed": "41",
"flags": [
{
"type": "preference",
"name": "Experimental Web Platform features",
"value_to_set": "Enabled"
}
],
"notes": "Older versions of Opera implement navigator.webkitGetUserMedia
, a prefixed form of the legacy navigator.getUserMedia
API."
}
],
"safari": {
"version_added": "11"
},
"safari_ios": {
"version_added": "11"
},
"samsunginternet_android": {
"version_added": "6.0"
},
"webview_android": {
"version_added": "53"
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
},
"secure_context_required": {
"__compat": {
"description": "Secure context required",
"support": {
"chrome": {
"version_added": true
},
"chrome_android": {
"version_added": true
},
"edge": {
"version_added": "79"
},
"firefox": {
"version_added": "68"
},
"firefox_android": {
"version_added": "68"
},
"ie": {
"version_added": false
},
"opera": {
"version_added": null
},
"opera_android": {
"version_added": null
},
"safari": {
"version_added": null
},
"safari_ios": {
"version_added": null
},
"samsunginternet_android": {
"version_added": true
},
"webview_android": {
"version_added": true
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
},
"ondevicechange": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/ondevicechange",
"support": {
"chrome": {
"version_added": "57"
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": "12"
},
"firefox": [
{
"version_added": "52"
},
{
"version_added": "51",
"version_removed": "52",
"flags": [
{
"type": "preference",
"name": "media.ondevicechange.enabled",
"value_to_set": "true"
}
],
"notes": "MediaDevices.ondevicechange
is supported only on macOS."
}
],
"firefox_android": {
"version_added": true
},
"ie": {
"version_added": false
},
"opera": {
"version_added": "34"
},
"opera_android": {
"version_added": "34"
},
"safari": {
"version_added": false
},
"safari_ios": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"stereo_audio_capture": {
"__compat": {
"description": "Stereo audio capture",
"support": {
"chrome": {
"version_added": null
},
"chrome_android": {
"version_added": null
},
"edge": {
"version_added": null
},
"firefox": {
"version_added": "55"
},
"firefox_android": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": null
},
"opera_android": {
"version_added": null
},
"safari": {
"version_added": false
},
"safari_ios": {
"version_added": false
},
"samsunginternet_android": {
"version_added": null
},
"webview_android": {
"version_added": null
}
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
}