HTMLMediaElement: setMediaKeys() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The setMediaKeys() method of the HTMLMediaElement interface sets the MediaKeys that will be used to decrypt media during playback.

It returns a Promise that fulfils if the new keys are successfully set, or rejects if keys cannot be set.

Syntax

js
setMediaKeys(mediaKeys)

Parameters

mediaKeys

A MediaKeys object that the HTMLMediaElement can use for decryption of media data during playback.

Return value

A Promise that fulfills with undefined.

Exceptions

The returned promise may reject an error:

InvalidStateError DOMException

Media keys are already in the process of being attached, or the previous keys cannot be removed at the current time (for example, because the particular implementation does not allow removal during playback).

QuotaExceededError DOMException

The passed keys are already in use by another element, or the browser is unable to use it with this element for other reasons.

NotSupportedError DOMException

The media keys that are currently associated with the media cannot be disassociated, because this is not supported by either the CDM or the browser.

Specifications

Specification
Encrypted Media Extensions
# dom-htmlmediaelement-setmediakeys

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
setMediaKeys

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support