MediaKeySession
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 aMediaKeySession
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 event handler called when there has been a change in the keys in a session or their statuses.
MediaKeySession.onmessage
-
Sets the event handler 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 |
---|
Encrypted Media Extensions # mediakeysession-interface |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
MediaKeySession |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
close |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
closed |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
expiration |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
generateRequest |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
keyStatuses |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
load |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
onkeystatuseschange |
55 |
79 |
52 |
No |
42 |
12.1 |
43 |
55 |
52 |
42 |
12.2 |
6.0 |
onmessage |
55 |
79 |
52 |
No |
42 |
12.1 |
43 |
55 |
52 |
42 |
12.2 |
6.0 |
remove |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
sessionId |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
update |
42 |
13 |
38 |
No |
Yes |
12.1 |
43 |
42 |
38 |
Yes |
12.2 |
4.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySession