为 AVQueuePlayer/AVPlayer 从网络预加载视频文件
Posted
技术标签:
【中文标题】为 AVQueuePlayer/AVPlayer 从网络预加载视频文件【英文标题】:Preload video files from network for AVQueuePlayer/AVPlayer 【发布时间】:2014-03-13 22:39:19 【问题描述】:我有一个或一组 URL,每个都指向一个 mp4 视频文件。
我为这些视频文件(如 Instagram 视频)提供了类似新闻源的时间线。用户可以上下滚动浏览每个视频。为了使视频加载更快,我想在用户向下滚动到它们之前预加载接下来的几个视频文件。当用户实际滚动到这些文件时,它将开始播放而无需再次从网络下载。
文件将在 AVQueuePlayer 中播放。
有没有办法做到这一点?谢谢大家!
【问题讨论】:
【参考方案1】:我不知道有什么方法可以让 AVQueuePlayer 提前缓冲。
您可以在 AVPlayer 和网络之间创建代理。这将允许您跟踪 AVPlayer 已加载的内容,因此您可以预测性地下载和缓存即将到来的媒体文件,以便在 AVPlayer 请求它们时准备好它们。最干净的方法是注册一个自定义的 NSURLProtocol(注意这在 ios 模拟器中不起作用)。您还可以在设备上运行服务器,例如 CocoaHTTPServer。
【讨论】:
以上是关于为 AVQueuePlayer/AVPlayer 从网络预加载视频文件的主要内容,如果未能解决你的问题,请参考以下文章
2021-11-26:() 分值为2, (()) 分值为3, ((())) 分值为4, 也就是说,每包裹一层,分数就是里面的分值+1。 ()() 分值为2 * 2, (())() 分值为3 * 2。(