ios - 带有快速下载按钮的视频播放器

标签 ios swift download swift4 video-player

我有一个视频播放器,我想添加一个下载按钮。 我如何将此按钮添加到我的视频播放器或创建一个按钮来下载该视频。 坦克。 我的代码是:

let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let player = AVPlayer(url: videoURL!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true) {
playerViewController.player!.play()

最佳答案

请检查下面的代码,下载是在后台线程中进行的,因此不会影响 UI。

class func downloadVideo(videoImageUrl:String)
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {

        let url=NSURL(string: videoImageUrl)
        let urlData=NSData(contentsOfURL: url!)

        if((urlData) != nil)
        {
            let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]

            let fileName = videoImageUrl.lastPathComponent //.stringByDeletingPathExtension

            let filePath="\(documentsPath)/\(fileName)"

            //saving is done on main thread

            dispatch_async(dispatch_get_main_queue(), { () -> Void in

                 urlData?.writeToFile(filePath, atomically: true)
            })

        }
    })

}

用于在按钮目标中调用上述函数。

Self.downloadVideo("https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")

关于ios - 带有快速下载按钮的视频播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49714560/

相关文章:

Java HttpServlet如何下载excel文件

iphone - NSURLConnection 下载大文件(>40MB)

ios - 无法快速分配值类型不匹配

ios - 如何等到在 objective-c 中按下 CCMenuItemImage?

ios - parse.com 'retweet' 模式太冗长

swift - 如何检测NSWindow是否被拖动?

ios - 从 UIView 转换后的 PDF 不完整

swift - 如何在 Swift 3 的 DTCoreText 中显示与 html 内联的图像

casting - Swift:CInt 到 Int 的转换?

iphone - 添加音频文件iPhone应用程序