如何解决AVAggregateAssetDownloadTask 错误域=CoreMediaErrorDomain 代码=-16657 错误域=CoreMediaErrorDomain 代码=-16657developer.apple.com
我正在使用 AVAggregateAssetDownloadTask 在我的应用程序中下载 HLS 视频。我刚刚添加了暂停/恢复功能。简单地说,当用户想要暂停下载时,我会暂停任务。
但是,在这种情况下,实际上任务不会停止。它不断下载资产。当我按下恢复按钮时,我正在调用任务的 .resume() 方法。不知何故,这个过程非常快,直到 %100, 并且它给出了一个错误(继续阅读或转到 错误消息 标题)。
我如何测试
- 开始通过 AVAggregateAssetDownloadTask 下载项目
- 在 %3 处点击暂停。
- 调用任务?.suspend()
- 等待 1 分钟或 2 分钟
- 点按简历下载按钮
- 调用任务?.resume()
- 任务从 %29 恢复
- 任务在 %48 处失败
代码
@objc public func pauseDownload(for productId: String) {
var asset: Asset?
var task: AVAggregateAssetDownloadTask?
for (taskKey,assetValue) in activeDownloadsMap where productId == assetValue.productId {
asset = assetValue
task = taskKey
task?.suspend() // **task is not nil!**
break
}
// Here: I'm sending a notification to the UI cases
}
@objc public func resumeDownload(for productId: String) {
var asset: Asset?
var task: AVAggregateAssetDownloadTask?
for (taskKey,assetValue) in activeDownloadsMap where productId == assetValue.productId {
asset = assetValue
task = taskKey
task?.resume() // **task is not nil!**
break
}
// Here: I'm sending a notification to the UI cases
}
其他情况
- 无需暂停任务,即可完美下载。
技术细节
- Xcode 版本 12.4 (12D4e)
- iOS 14.4 版
错误信息
错误域=CoreMediaErrorDomain 代码=-16657
"(null)" UserInfo={_NSURLErrorRelatedURLSessionTaskErrorKey=( "Backgroundavassetdownloadtask ."),_NSURLErrorFailingURLSessionTaskErrorKey=Backgroundavassetdownloadtask .}
developer.apple.com
developer.apple.com 上也有同样的问题:
https://developer.apple.com/forums/thread/674090
报告的错误
FB9043262
如果您认为自己遇到了同样的问题,请考虑帮助。
最好的。
解决方法
我也遇到了这个问题。看起来它已在当前版本的 iOS 14 中修复。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。