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

瀏覽器相容性