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

时间:2014-03-13 22:39:20

标签: ios iphone avfoundation avplayer avasset

我有一组或多个URL,每个都指向一个mp4视频文件。

我对这些视频文件(如Instagram视频)有类似新闻源的时间表。用户可以上下滚动浏览每个视频。为了加快视频加载速度,我想在用户向下滚动之前预先加载下几个视频文件。当用户实际滚动到这些文件时,它将开始播放而无需再次从网络下载。

文件将在AVQueuePlayer中播放。

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

1 个答案:

答案 0 :(得分:3)

我不知道要求AVQueuePlayer提前缓冲的方法。

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