我用AVAssetDownloadTask下载了一个Fairplay HLS视频,并保存了解密密钥。在下载成功完成后,我尝试使用本地url创建一个urlasset,但是在将该资源加载到avplayer中后,它不能播放。同样的视频在在线时播放,因此解密密钥被正确地检索和保存。
我注意到,AVAssetResourceLoaderDelegate不会被离线调用,所以基本上播放器不会检索解密密钥。
有人知道会出什么问题吗?
发布于 2018-04-06 22:00:37
确保在为资源创建AVPlayer实例之前将preloadsEligibleContentKeys
设置为true
。
let asset = AVURLAsset(url: fileURL)
asset.resourceLoader.preloadsEligibleContentKeys = true
asset.resourceLoader.setDelegate(<#delegate#>, queue: DispatchQueue.global())
https://stackoverflow.com/questions/45102937
复制相似问题