MediaKeySession
This represents a media key session.
For more information, see https://www.w3.org/TR/encrypted-media/#mediakeysession-interface.
Extends
Properties
closed
readonly
closed:Promise
<void
>
Signals when the object becomes closed as a result of the Session Closed algorithm being run.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-closed.
expiration
readonly
expiration:number
The expiration time for all key(s) in the session, or NaN if no such time exists or if the license explicitly never expires, as determined by the CDM.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-expiration.
keyStatuses
readonly
keyStatuses:MediaKeyStatusMap
A reference to a read-only map of key IDs known to the session to the current status of the associated key. Each entry has a unique key ID.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-keystatuses.
onkeystatuseschange()
onkeystatuseschange: (
this
,ev
) =>any
Event handler for the "keystatuseschange" event.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-onkeystatuseschange.
Parameters
this
ev
Event
Returns
any
onmessage()
onmessage: (
this
,ev
) =>any
Event handler for the "message" event.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-onmessage.
Parameters
this
ev
Returns
any
sessionId
readonly
sessionId:string
The Session ID for this object and the associated key(s) or license(s).
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-sessionid.
Methods
addEventListener()
Call Signature
addEventListener<
K
>(type
,listener
,options
?):void
Adds an even listener.
Type Parameters
• K extends keyof MediaKeySessionEventMap
Parameters
type
K
Type of event.
listener
(this
, ev
) => any
Event handler.
options?
Ignored.
boolean |
AddEventListenerOptions |
Returns
void
Overrides
Call Signature
addEventListener(
type
,listener
,options
?):void
Adds an even listener.
Parameters
type
string
Type of event.
listener
Event handler.
options?
Ignored.
boolean |
AddEventListenerOptions |
Returns
void
Overrides
EventTarget.addEventListener
close()
close():
Promise
<void
>
Indicates that the application no longer needs the session and the CDM should release any resources associated with the session and close it. Persisted data is not released or cleared.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-close.
Returns
Promise
<void
>
dispatchEvent()?
optional
dispatchEvent(event
):boolean
Dispatches an event to the target
Parameters
event
The event which signals an occurrenceo.
Returns
boolean
TODO
Add and define in the implementations, keep it optional for now.
Inherited from
generateRequest()
generateRequest(
initDataType
,initData
):Promise
<void
>
Generates a license request based on the initData. A message of type "license-request" or "individualization-request" will always be queued if the algorithm succeeds and the promise is resolved.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-generaterequest.
Parameters
initDataType
string
The Initialization Data Type of the initData.
initData
ArrayBuffer
Initialization Data.
Returns
Promise
<void
>
load()
load(
sessionId
):Promise
<boolean
>
Loads the data stored for the specified session into this object.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-load
Parameters
sessionId
string
The Session ID of the session to load.
Returns
Promise
<boolean
>
remove()
remove():
Promise
<void
>
Removes all license(s) and key(s) associated with the session. For persistent session types, other session data will be cleared as defined for each session type once a release message acknowledgment is processed by update().
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-remove.
Returns
Promise
<void
>
removeEventListener()
removeEventListener(
type
,listener
,options
?):void
Removes an event listener.
Parameters
type
string
The event to listen to.
listener
The Event Handler function to be removed.
options?
Ignore.
boolean |
EventListenerOptions |
Returns
void
Inherited from
EventTarget
.removeEventListener
update()
update(
response
):Promise
<void
>
Provides messages, including licenses, to the CDM.
For more information, see https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-update.
Parameters
response
ArrayBuffer
A message to be provided to the CDM.
Returns
Promise
<void
>
Promise
Last updated: Sep 30, 2025