在AVAssetResourceLoaderDelegate中处理错误的推荐方法是什么?特别是shouldWaitForLoadingOfRequestedResource
/ shouldWaitForRenewalOfRequestedResource
中的网络请求?
然而,在我开始播放视频之前,我的应用无法知道出现了什么问题。我在loadingRequest.finishLoading(with: err)
委托电话中尝试了return false
和shouldWaitForLoadingOfRequestedResource
,但在下载完成并且用户开始播放视频之前没有报告任何内容。
代码就像这样..
let urlAsset = AVURLAsset(url: url)
asset?.resourceLoader.preloadsEligibleContentKeys = true
asset?.resourceLoader.setDelegate(self.fairPlayAssetLoaderDelegate, queue: DispatchQueue.global(qos: .default)) // fairPlayAssetLoaderDelegate is an object that implements AVAssetResourceLoaderDelegate
// send urlAsset to AVAssetDownloadURLSession.makeAssetDownloadTask
设置preloadsEligibleContentKeys = true
后,在AVURLAsset中设置资源加载器委托后,似乎会立即调用shouldWaitForLoadingOfRequestedResource
。但是没有办法告诉资源加载器已经成功获得了它想要的所有信息。
我尝试在AVURLAsset上使用loadValuesAsynchronously
,但这也不行。
AVAssetDownloadURLSession并不总是报告错误..
提前致谢。