MPMoviePlayerController 成功预加载后将视频缓存到磁盘

Posted

技术标签:

【中文标题】MPMoviePlayerController 成功预加载后将视频缓存到磁盘【英文标题】:Caching videos to disk after successful preload by MPMoviePlayerController 【发布时间】:2009-06-01 10:42:12 【问题描述】:

使用 MPMoviePlayerController 的initWithContentURL: 启动视频后,是否可以缓存下载的视频,以便下次播放视频时可以通过本地 file:// URI 加载?我知道可以自己下载并然后启动电影播放器​​,但是我想利用播放器在完成预加载之前启动的能力。

【问题讨论】:

你有没有找到解决这个问题的好方法? 有没有其他支持缓存的视频播放器? 【参考方案1】:

一个技巧是开始下载到磁盘 - (使用 atomic : YES),等待 10 秒,然后将电影播放器​​指向本地磁盘路径。它会在播放不完整的文件时“下载”。

下一次,先检查文件是否存在。

我在 WIFI 连接上运行得很好,但在 3G 上却有各种崩溃。

更糟糕的是,本地文件不完整存在问题。让我知道是否值得。

【讨论】:

嗯...我试过了,但发现它太容易出错了。根据我的最新答案,您是否尝试过使用自定义的仅磁盘缓存实现覆盖 [NSURLCache sharedURLCache]【参考方案2】:

我尚未对此进行测试,但可以使用自定义的仅磁盘缓存实现覆盖 [NSURLCache sharedURLCache]。如果MPMoviePlayerController 使用NSURLRequest,它可以工作。

【讨论】:

有人测试过这个吗? 我已经测试过了。 MPMoviePlayerController 根本不使用 NSURLCache。

以上是关于MPMoviePlayerController 成功预加载后将视频缓存到磁盘的主要内容,如果未能解决你的问题,请参考以下文章

如何显示 MPMoviePlayerController 控件?

MPMoviePlayerController 隐藏 AirPlay 按钮

MPMoviePlayerController 上的专辑封面

MPMoviePlayerController 已弃用,现在怎么办?

用 MPMoviePlayerController 替换 AVPlayer

“MPMoviePlayerController”的“initialPlaybackTime”不起作用