我正在寻找一些帮助来解决看似简单的问题,但我似乎无法弄清楚。
我正在使用 Cocoapods 的 Haneke 从 URL(在我的服务器上)缓存 MP4 文件,然后使用 AVPlayer 播放缓存的版本。我在 UICOllectionViewCell 内设置了一个 AVPreviewLayer 并运行此代码。问题是播放器最初不会播放视频,但将来会再次播放(在我滚动回 uicollectionview 中的该单元格后)
let getUrl = NSURL(string: location)
cache.fetch(URL: getUrl!).onSuccess { (data) in
// Hacky way of getting cache URL from Haneke
let basePath = DiskCache.basePath().stringByAppendingPathComponent("shared-data/original/")
let path = DiskCache(path: basePath, capacity: UINT64_MAX).pathForKey(getUrl!.absoluteString)
let fileURL = NSURL(fileURLWithPath: path)
self.player = AVPlayer(URL: fileURL)
let playerLayer = AVPlayerLayer(player: self.player)
playerLayer.frame = self.view.bounds
cell.videoView.layer.addSublayer(playerLayer)
print("Playing video")
self.player.play()
}