我想要缓存在tableview中显示的视频。但是,我不知道要缓存什么。我正在使用AVFoundation
,特别是我正在使用AVPlayer
并创建AVPlayerItem
' s。
我的问题是:我该缓存什么?是AVPlayer
,AVPlayerItem
还是AVPlayerItem
的基础资产,称为AVAsset
?
请提供答案的代码示例(或库)。谢谢!
答案 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)
使用方法:只检查该行的缓存中是否存在对象。如果是 - 使用它,不 - 下载