1

我正在使用 AVAssetDownloadTask 下载 Fairplay HLS 视频并保存解密密钥。下载成功完成后,我尝试使用本地 url 创建一个 urlasset,但在将资产加载到 avplayer 后它无法播放。在线时播放相同的视频,因此可以正确检索和保存解密密钥。

我注意到 AVAssetResourceLoaderDelegate 没有被离线调用,所以基本上播放器没有检索解密密钥。

有人知道可能出了什么问题吗?

4

1 回答 1

0

确保在为您的资产创建 AVPlayer 实例之前设置preloadsEligibleContentKeys为。true

let asset = AVURLAsset(url: fileURL)
asset.resourceLoader.preloadsEligibleContentKeys = true
asset.resourceLoader.setDelegate(<#delegate#>, queue: DispatchQueue.global())
于 2018-04-06T14:00:36.647 回答