【发布时间】:2017-11-16 21:01:18
【问题描述】:
我想在我的ViewController 中播放一个视频文件,该文件加载到我的PageViewController 的每个页面中。正如您将看到的,我使用一个名为Carlos 的插件来缓存视频(最初需要从服务器下载),这样就不必在每次用户点击新页面时都下载它们。但是,我不知道如何播放这个下载的文件 (NSData)。因此,我真的很想知道如何获取下载文件的 URL,以便我可以使用 AVPlayer 播放它。
代码(仍然使用来自服务器的 URL)
let omniCache = videoCache.cache
let request = omniCache.get(URL(string: video!)!)
request
.onSuccess { videoFile in
print("The file..." )
print(videoFile)
//How can I get the local URL here instead of my server url
if let videoURL = URL(string: self.video!){
if self.player == nil {
let playerItemToBePlayed = AVPlayerItem(url: videoURL as URL)
self.player = AVPlayer(playerItem: playerItemToBePlayed)
let playerLayer = AVPlayerLayer(player: self.player)
playerLayer.frame = self.view.frame
self.controlsContainerView.layer.insertSublayer(playerLayer, at: 0)
}
}
}
.onFailure { error in
print("An error occurred :( \(error)")
}
【问题讨论】:
-
如果文件缓存在磁盘上,为什么不直接生成本地文件路径的 URL 并使用它/
-
@JAL 试过了,但不知道如何获取 URL,我也没有找到库提供的函数。 :/ 你知道找到本地 url 的方法吗?
-
但是在答案中显示的代码中我应该在哪里输入我的
videoFile?