在tableview中缓存视频

时间:2016-10-25 14:11:14

标签: ios swift avfoundation avplayer avasset

我想要缓存在tableview中显示的视频。但是,我不知道要缓存什么。我正在使用AVFoundation,特别是我正在使用AVPlayer并创建AVPlayerItem' s。

我的问题是:我该缓存什么?是AVPlayerAVPlayerItem还是AVPlayerItem的基础资产,称为AVAsset

请提供答案的代码示例(或库)。谢谢!

2 个答案:

答案 0 :(得分:0)

缓存意味着下载每个单元格的视频,并尝试第二次使用下载的视频。您可以使用Temp位置或Document目录。 执行下载调用以从网址Video Link下载视频。

在你的cellForRowat索引路径中检查你的本地视频是否可用,如果它还有play.or else流,这是第一次同时下载 在后台呼叫该视频。因此,您可以第二次使用本地视频并在没有互联网的情况下播放。

答案 1 :(得分:0)

您需要private var mediaCache = NSMutableDictionary()来缓存视频。

如何缓存:

let assetForCache = AVAsset(url: URL(string: cell.videoRef)!)
self.mediaCache.setObject(assetForCache, forKey: cacheKey as NSCopying)

使用方法:只检查该行的缓存中是否存在对象。如果是 - 使用它,不 - 下载