Encrypted Media Extensions API
{{DefaultAPISidebar("Encrypted Media Extensions")}} {{securecontext_header}}
The Encrypted Media Extensions API provides interfaces for controlling the playback of content which is subject to a digital restrictions management scheme.
Access to this API is provided through {{domxref("Navigator.requestMediaKeySystemAccess()")}} .
Interfaces
{{domxref("MediaEncryptedEvent")}}- : Represents a specific
{{domxref("HTMLMediaElement/encrypted_event", "encrypted")}}event thrown when a{{domxref('HTMLMediaElement')}}encounters some initialization data.
- : Represents a specific
{{domxref("MediaKeyMessageEvent")}}- : Contains the content and related data when the content decryption module (CDM) generates a message for the session.
{{domxref("MediaKeys")}}- : Represents a set of keys that an associated
{{domxref('HTMLMediaElement')}}can use for decryption of media data during playback.
- : Represents a set of keys that an associated
{{domxref("MediaKeySession")}}- : Represents a context for message exchange with a content decryption module (CDM).
{{domxref("MediaKeyStatusMap")}}- : A read-only map of media key statuses by key IDs.
{{domxref("MediaKeySystemAccess")}}- : Provides access to a key system for decryption and/or a content protection provider.
Extensions to other interfaces
The Encrypted Media Extensions API extends the following APIs, adding the listed features.
HTMLMediaElement
{{domxref("HTMLMediaElement.mediaKeys")}}{{readonlyinline}}- : Provides a
{{domxref("MediaKeys")}}object that represents the set of keys that the element can use for decryption of media data during playback.
- : Provides a
{{domxref("HTMLMediaElement.setMediaKeys()")}}- : Sets the
{{domxref("MediaKeys")}}that will be used to decrypt media during playback.
- : Sets the
encryptedevent- : Event that is fired on a
{{domxref("HTMLMediaElement")}}when initialization data is encountered in the media, indicating that it is encrypted.
- : Event that is fired on a
Navigator
{{domxref("Navigator.requestMediaKeySystemAccess()")}}- : Returns a
{{jsxref('Promise')}}that fulfils to a{{domxref('MediaKeySystemAccess')}}object that can be used to access a particular media key system, which can in turn be used to create keys for decrypting a media stream.
- : Returns a
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}