MediaKeySession

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2019 年 3 月以来,它已在所有浏览器中可用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

MediaKeySession 接口是 Encrypted Media Extensions API 的一部分,它代表了与内容解密模块 (CDM) 进行消息交换的上下文。

EventTarget MediaKeySession

实例属性

MediaKeySession.closed 只读

返回一个 Promise,当 MediaKeySession 关闭时会发出信号。此 Promise 只能被 fulfilled,绝不会被 rejected。关闭一个会话意味着与该会话关联的许可证和密钥将不再有效,无法用于解密媒体数据。

MediaKeySession.expiration 只读

当前会话中的密钥无法再用于解密媒体数据的时间,如果不存在这样的时间则为 NaN。此值由 CDM 决定,以自 1970 年 1 月 1 日 UTC 以来的毫秒数计量。此值在会话生命周期内可能会发生变化,例如当某个操作触发了窗口的开始时。

MediaKeySession.keyStatuses 只读

包含对当前会话的密钥及其状态的只读 MediaKeyStatusMap 的引用。

MediaKeySession.sessionId 只读

包含 CDM 为当前媒体对象及其关联密钥或许可证生成的唯一字符串。

事件

keystatuseschange

当会话中的密钥或其状态发生变化时触发。

message

当内容解密模块为会话生成消息时触发。

实例方法

MediaKeySession.close()

在通知当前媒体会话不再需要,并且 CDM 应释放与此对象关联的任何资源并关闭它后,返回一个 Promise

MediaKeySession.generateRequest()

在根据初始化数据生成许可证请求后,返回一个 Promise

MediaKeySession.load()

在加载指定会话对象的后,返回一个解析为布尔值的 Promise

MediaKeySession.remove()

在删除与当前对象关联的任何会话数据后,返回一个 Promise

MediaKeySession.update()

在将消息和许可证加载到 CDM 后,返回一个 Promise

示例

js
// TBD

规范

规范
加密媒体扩展
# mediakeysession-interface

浏览器兼容性