【发布时间】:2017-08-04 09:05:49
【问题描述】:
我使用以下代码从URL 下载视频。下载视频效果很好。
func downloadVideo(){
Alamofire.request("https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4").downloadProgress(closure:{ (progress) in
print(progress.fractionCompleted)
self.progressView.progress = Float(progress.fractionCompleted)
}).responseData{ (response) in
print(response.result)
print(response.result.value!)
print(response.result.description)
if let data = response.result.value {
let obj = String(data: data, encoding: .utf8)
let player = AVPlayer(url: URL(string: obj!)!)
self.playerController.player = player
self.addChildViewController(self.playerController)
self.view.addSubview(self.playerController.view)
self.playerController.view.frame = self.view.frame
player.play()
}
}
但是我想在AVPlayer播放这个视频
我发现视频可能下载为NSData。是吗?
谁能帮我下载完成后如何播放此视频?
如果有人能推荐一些其他的代码就好了 使用进度条下载视频,然后在 Swift 3.0 中播放。
TIA。
【问题讨论】:
-
let obj = String(data: data, encoding: .utf8); let player = AVPlayer(url: URL(string: obj!)!)这没有意义。obj应该是视频的内容(字节),怎么转成String呢?这应该是一个 URL 吗? -
@Larme 我知道我走错了路。请建议一些更好的路径
-
真的需要下载吗?为什么不直接做
let player = AVPlayer(url: URL(string:"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!)?否则,您需要将data保存到您的应用程序(FileManager 或类似的东西)的某个文件路径中,并将该路径用于AVPlayer(url: URL(string:myFilePath)) -
@Larme 为了将来的参考,我需要下载视频并将其存储到我的本地目录中。有没有其他方法可以做到这一点,然后在 AVPlayer 中播放。谢谢
标签: ios swift3 alamofire avplayer nsdata