AVAssetResourceLoaderDelegate中的错误处理

时间:2017-12-26 20:12:11

标签: ios avfoundation frame-rate avurlasset fairplay

在AVAssetResourceLoaderDelegate中处理错误的推荐方法是什么?特别是shouldWaitForLoadingOfRequestedResource / shouldWaitForRenewalOfRequestedResource中的网络请求?

然而,在我开始播放视频之前,我的应用无法知道出现了什么问题。我在loadingRequest.finishLoading(with: err)委托电话中尝试了return falseshouldWaitForLoadingOfRequestedResource,但在下载完成并且用户开始播放视频之前没有报告任何内容。

代码就像这样..

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并不总是报告错误..

提前致谢。

0 个答案:

没有答案