Media Key Session Close vs Remove
这其实是 Web 前端多媒体开发,非常细的点,可能很多人都不太会在意。但是如果你是做 DRM 的开发,则非常有可能会接触到。 MediaKeySession 代表与内容解密模块 (CDM) 进行消息交换的上下文。 其中有两个非常重要的接口: remove(): Promise 删除与当前对象关联的所有会话数据后返回close(): Promise 在通知当前媒体会话不再需要并且 CDM 应该释放与该对象相关的任何资源并将其关闭后返回。其中这里最重要的概念,就是你是否需要通知 CDM 模块进行释放,我们 JS 测其实不太会参与较多的关于加密相关的事情,而更多还是依靠 CDM 内部机制。 因此如果你的 Case 是,播放完该视频后,不会再进行复播,你最好是直接 Close, 如果你只是中断,后面会重新播放的,可以建议尝试 Remove。 我们日常 Web 播放由于绝大多数都是非常持久的 License,所以区别不是很大,但是如果是 persistent-license 则应该尤为注意。 目前 hls.js 侧给了非常标准的实现是 mediaKeySession.remove( 详情 »