预加载视频文件从网络为AVQueuePlayer/AVPlayer



我有一组url,每个指向一个mp4视频文件。

我为这些视频文件(如Instagram视频)提供了一个类似新闻提要的时间轴。用户可以上下滚动浏览每个视频。为了使视频加载更快,我想在用户向下滚动之前预加载接下来的几个视频文件。当用户真正滚动到这些文件时,它将开始播放,而无需再次从网络下载。

文件将在AVQueuePlayer中播放。

有办法做到这一点吗?谢谢你们了!

我不知道如何要求AVQueuePlayer提前缓冲。

你可以在AVPlayer和web之间创建一个代理。这将允许您跟踪AVPlayer已加载的内容,因此您可以预测下载和缓存即将到来的媒体文件,以便在AVPlayer请求时准备好。最干净的方法是注册一个自定义的NSURLProtocol(注意这在iOS模拟器中不起作用)。您还可以在设备上运行服务器,例如CocoaHTTPServer。

最新更新