| { |
| "api": { |
| "AudioContext": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#AudioContext", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": [ |
| { |
| "version_added": "35" |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "14", |
| "version_removed": "57" |
| } |
| ], |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "25" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": [ |
| { |
| "version_added": "14.1" |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "6", |
| "version_removed": "14.1" |
| } |
| ], |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| }, |
| "AudioContext": { |
| "__compat": { |
| "description": "`AudioContext()` constructor", |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-audiocontext", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": [ |
| { |
| "version_added": "35", |
| "notes": [ |
| "Before Chrome 66, each tab is limited to 6 audio contexts in Chrome; attempting to create more will throw a `DOMException`. For details see [Per-tab audio context limitation in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Per-tab_audio_context_limitation_in_Chrome).", |
| "If `latencyHint` isn't valid, Chrome throws a `TypeError` exception. See [Non-standard exceptions in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Non-standard_exceptions_in_Chrome) for details." |
| ] |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "14", |
| "version_removed": "57" |
| } |
| ], |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "25" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": [ |
| { |
| "version_added": "22", |
| "notes": [ |
| "Before Opera 53, each tab is limited to 6 audio contexts in Opera; attempting to create more will throw a `DOMException`. For details see [Per-tab audio context limitation in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Per-tab_audio_context_limitation_in_Chrome).", |
| "If `latencyHint` isn't valid, Opera throws a `TypeError` exception. See [Non-standard exceptions in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Non-standard_exceptions_in_Chrome) for details." |
| ] |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "15", |
| "version_removed": "44" |
| } |
| ], |
| "opera_android": [ |
| { |
| "version_added": "22", |
| "notes": [ |
| "Before Opera Android 47, each tab is limited to 6 audio contexts in Opera; attempting to create more will throw a `DOMException`. For details see [Per-tab audio context limitation in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Per-tab_audio_context_limitation_in_Chrome).", |
| "If `latencyHint` isn't valid, Opera throws a `TypeError` exception. See [Non-standard exceptions in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Non-standard_exceptions_in_Chrome) for details." |
| ] |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "14", |
| "version_removed": "43" |
| } |
| ], |
| "safari": [ |
| { |
| "version_added": "14.1", |
| "notes": "New audio contexts are suspended until the `resume()` method is called via user action, such as the `click` event." |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "6" |
| } |
| ], |
| "safari_ios": "mirror", |
| "samsunginternet_android": [ |
| { |
| "version_added": "3.0", |
| "notes": [ |
| "Before Samsung Internet 9.0, each tab is limited to 6 audio contexts in Samsung Internet; attempting to create more will throw a `DOMException`. For details see [Per-tab audio context limitation in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Per-tab_audio_context_limitation_in_Chrome).", |
| "If `latencyHint` isn't valid, Samsung Internet throws a `TypeError` exception. See [Non-standard exceptions in Chrome](https://developer.mozilla.org/docs/Web/API/AudioContext/AudioContext#Non-standard_exceptions_in_Chrome) for details." |
| ] |
| }, |
| { |
| "prefix": "webkit", |
| "version_added": "1.0", |
| "version_removed": "7.0" |
| } |
| ], |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| }, |
| "options_latencyHint_parameter": { |
| "__compat": { |
| "description": "`options.latencyHint` parameter", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-latencyhint", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "58" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "14.1" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "options_sampleRate_parameter": { |
| "__compat": { |
| "description": "`options.sampleRate` parameter", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "74" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "61" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "14.1" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "options_sinkId_parameter": { |
| "__compat": { |
| "description": "`options.sinkId` parameter", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-sinkid", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "110" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| } |
| }, |
| "baseLatency": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/baseLatency", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-baselatency", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "58" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "70" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "14.1" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "close": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/close", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-close", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "42" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "14" |
| }, |
| "firefox": { |
| "version_added": "40" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "9" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "createMediaElementSource": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaElementSource", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediaelementsource", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "15" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "25", |
| "notes": "If a sample rate is specified for the audio context, it must match the sample rate of the stream, otherwise this method will fail." |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "6" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "createMediaStreamDestination": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamDestination", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediastreamdestination", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "25" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "25" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "createMediaStreamSource": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamSource", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediastreamsource", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "22" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "12" |
| }, |
| "firefox": { |
| "version_added": "25" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "11" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "createMediaStreamTrackSource": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamTrackSource", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediastreamtracksource", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": false, |
| "impl_url": "https://crbug.com/40500817" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "68", |
| "notes": "Firefox 68 implements the updated standard's definition of the \"first\" audio track; now the first track is the one whose ID comes first lexicographically." |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "error_event": { |
| "__compat": { |
| "description": "`error` event", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-onerror", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "128" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "getOutputTimestamp": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/getOutputTimestamp", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-getoutputtimestamp", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "57" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "70" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "14.1" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "outputLatency": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/outputLatency", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-outputlatency", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "102" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": "70" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "18.4" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "resume": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/resume", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-resume", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "41" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "14" |
| }, |
| "firefox": { |
| "version_added": "40" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "9" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "setSinkId": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/setSinkId", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-setsinkid", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "110" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "sinkchange_event": { |
| "__compat": { |
| "description": "`sinkchange` event", |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/sinkchange_event", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#eventdef-audiocontext-sinkchange", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "110" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "sinkId": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/sinkId", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-sinkid", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "110" |
| }, |
| "chrome_android": "mirror", |
| "edge": "mirror", |
| "firefox": { |
| "version_added": false |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": false |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": true, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| }, |
| "suspend": { |
| "__compat": { |
| "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioContext/suspend", |
| "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audiocontext-suspend", |
| "tags": [ |
| "web-features:web-audio" |
| ], |
| "support": { |
| "chrome": { |
| "version_added": "41" |
| }, |
| "chrome_android": "mirror", |
| "edge": { |
| "version_added": "14" |
| }, |
| "firefox": { |
| "version_added": "40" |
| }, |
| "firefox_android": "mirror", |
| "oculus": "mirror", |
| "opera": "mirror", |
| "opera_android": "mirror", |
| "safari": { |
| "version_added": "9" |
| }, |
| "safari_ios": "mirror", |
| "samsunginternet_android": "mirror", |
| "webview_android": "mirror", |
| "webview_ios": "mirror" |
| }, |
| "status": { |
| "experimental": false, |
| "standard_track": true, |
| "deprecated": false |
| } |
| } |
| } |
| } |
| } |
| } |