MediaKeySession:generateRequest() 方法

Baseline 已广泛支持

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

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

MediaKeySession 接口的 generateRequest() 方法在根据初始化数据生成许可证请求后,会返回一个 Promise

语法

js
generateRequest(initDataType, initData)

参数

initDataType

一个指定 initData 参数格式的字符串。它必须是以下值之一:

  • "cenc"initData 参数使用 "cenc" 格式。
  • "keyids"initData 参数使用 "keyids" 格式。
  • "webm"initData 参数使用 "webm" 格式。
initData

请求的初始化数据,格式由 initDataType 指定。它是以下类型之一的实例:

返回值

Promise

异常

TypeError

如果 initDataType 为空字符串,如果 initData 为空数组,或者如果提供的 initData 根据指定的 initDataType 无效,则会抛出此错误。

NotSupportedError DOMException

如果与 MediaKeySession 对象关联的密钥系统实现不支持提供的 initDataType,如果已清理的初始化数据为空,或者如果已清理的初始化数据不受内容解密模块 (CDM) 支持,则会抛出此错误。

QuotaExceededError

如果由于用户代理或 CDM 资源不足而导致操作失败,则会抛出此错误。

InvalidStateError DOMException

如果 MediaKeySession 对象处于 closingclosed 状态,或者如果它已被初始化,则会抛出此错误。

规范

规范
加密媒体扩展
# dom-mediakeysession-generaterequest

浏览器兼容性