我正在使用URLSessionDataTask
下载视频并播放它们(我需要缓存,所以我正在使用
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)
手动处理数据并将其提供给AVAssetResourceLoader
)。
为了进行磁盘缓存,我必须将下载的数据保存到磁盘(终止应用程序时),这样当用户再次打开应用程序时,我可以继续下载数据。
我注意到它没有像downloadTask(withResumeData:)
之类的构造函数(URLSessionDownloadTask
的构造函数,它几乎同样的想法,但它没有func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)
功能:D)。
现在我该如何将这两者结合起来?
谢谢你,对不起这篇长篇文章感到抱歉
答案 0 :(得分:0)
您应该在请求中使用Range
标头。但是,只有当服务器通过Accept-Ranges
响应标头通知您它接受范围请求时,才可以使用它。
因此,如果服务器支持从偏移量加载您需要在创建URLRequest
有关详细信息,请参阅HTTP RFC 2616中的Range header specification。