Web/API/MediaKeySession

From Get docs

This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The MediaKeySession interface of the EncryptedMediaExtensions API represents a context for message exchange with a content decryption module (CDM).

Properties

MediaKeySession.closed Read only
Returns a Promise signaling when a MediaKeySession closes. This promise can only be fulfilled and is never rejected. Closing a session means that licenses and keys associated with it are no longer valid for decrypting media data. 
MediaKeySession.expiration Read only
The time after which the keys in the current session can no longer be used to decrypt media data, or NaN if no such time exists. This value is determined by the CDM and measured in milliseconds since January 1, 1970, UTC. This value may change during a session lifetime, such as when an action triggers the start of a window.
MediaKeySession.keyStatuses Read only
Contains a reference to a read-only MediaKeyStatusMap of the current session's keys and their statuses.
MediaKeySession.sessionId Read only
Contains a unique string generated by the CDM for the current media object and its associated keys or licenses.

Event handlers

MediaKeySession.onkeystatuseschange
Sets the EventHandler called when there has been a change in the keys in a session or their statuses.
MediaKeySession.onmessage
Sets the EventHandler called when the content decryption module has generated a message for the session.

Methods

MediaKeySession.close()
Returns a Promise after notifying the current media session is no longer needed and that the CDM should release any resources associated with this object and close it.
MediaKeySession.generateRequest()
Returns a Promise after generating a media request based on initialization data.
MediaKeySession.load()
Returns a Promise that resolves to a boolean value after loading data for a specified session object. 
MediaKeySession.remove()
Returns a Promise after removing any session data associated with the current object.
MediaKeySession.update()
Returns a Promise after loading messages and licenses to the CDM.

Examples

// TBD

Specifications

Specification Status Comment
Encrypted Media ExtensionsThe definition of 'MediaKeySession' in that specification. Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

MediaKeySession

Experimental'

Chrome

Full support 42

Edge

Full support ≤18

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

close

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

closed

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

expiration

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

generateRequest

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

keyStatuses

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

load

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

onkeystatuseschange

Experimental'

Chrome

Full support 55

Edge

Full support 79

Firefox

Full support Yes

IE

No support No

Opera

Full support 42

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 55

Firefox Android

Full support Yes

Opera Android

Full support 42

Safari iOS

?

Samsung Internet Android

Full support 6.0

onmessage

Experimental'

Chrome

Full support 55

Edge

Full support 79

Firefox

Full support Yes

IE

No support No

Opera

Full support 42

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 55

Firefox Android

Full support Yes

Opera Android

Full support 42

Safari iOS

?

Samsung Internet Android

Full support 6.0

remove

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

sessionId

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

update

Experimental'

Chrome

Full support 42

Edge

Full support 13

Firefox

Full support Yes

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 43

Chrome Android

Full support 42

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 4.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.