我正在开发一个快速应用程序,其中用户有一个视频链接,如 facebook 等,如果用户希望下载,他可以放一个链接UITextfield 并下载它。我试过的代码是
func downloadAndSaveVideo(videoUrl:String?,videoName:String) {
DispatchQueue.global(qos: .background).async {
guard let myUrl = videoUrl else {
print("Invalid Url")
return
}
Alamofire.request(myUrl).downloadProgress(closure: { (Progress) in
print(Progress)
self.progress_view.progress = Float(Progress.fractionCompleted)
}).responseData(completionHandler: { (responce) in
if let data = responce.result.value{
print(data)
let documentUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let videoUrl = documentUrl.appendingPathComponent(videoName)
do {
try data.write(to: videoUrl)
print("done")
}catch
{
print("error")
}
}
})
}
}
如果我使用这样的可播放链接,此代码工作正常。但是,如果尝试放置 Facebook 链接,例如https://www.facebook.com/pagename/videos/962353737470453/或 youtube,我无法下载该视频,有人可以帮助我如何下载此类视频或将 Facebook 视频分享链接转换为观看或下载链接,以便我可以直接从我的应用程序下载视频。