Encrypted media extensionsBaseline · Widely available
The mediaKeys property of HTMLMediaElement and the navigator.requestMediaKeySystemAccess() method control the playback of content subject to digital rights management. Also known as EME.
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Mar 25, 2019. Widely available since Sep 25, 2021.
Browser support
DesktopChrome
1–41Not supported
42+Supportedsince Apr 14, 2015
Current: 155Edge
12–12Not supported
13+Supportedsince Nov 12, 2015
Current: 154Firefox
1–37Not supported
38+Supportedsince May 12, 2015
Current: 157Safari
1–12Not supported
12.1+Supportedsince Mar 25, 2019
Current: 27MobileChrome Android
18–41Not supported
42+Supportedsince Apr 15, 2015
Current: 155Firefox Android
4–37Not supported
38+Supportedsince May 12, 2015
Current: 157Safari iOS
1–12Not supported
12.2+Supportedsince Mar 25, 2019
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: encrypted event.
Feature detection
JS · check before using
if ("MediaEncryptedEvent" in globalThis) {
// MediaEncryptedEvent is available
} else {
// load a polyfill or use a fallback
}Sub-features
Support for each part of the feature (45). The overall table above shows when the whole feature works.