我正在使用AVAssetDownloadTask下载Fairplay HLS视频并保留解密密钥。下载成功完成后,我尝试使用本地URL创建一个urlasset,但在将资产加载到avplayer后,它无法播放。 在线播放相同的视频,以便检索并正确保存解密密钥。
我注意到AVAssetResourceLoaderDelegate没有被脱机调用,所以播放器基本上没有检索到解密密钥。
任何人都知道可能出现什么问题?
答案 0 :(得分:0)
在为资产创建AVPlayer实例之前,请确保将preloadsEligibleContentKeys
设置为true
。
let asset = AVURLAsset(url: fileURL)
asset.resourceLoader.preloadsEligibleContentKeys = true
asset.resourceLoader.setDelegate(<#delegate#>, queue: DispatchQueue.global())