【问题标题】:videoplayer with download button in swift带有快速下载按钮的视频播放器
【发布时间】:2018-09-17 18:24:24
【问题描述】:

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

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()

【问题讨论】:

标签: ios swift download swift4 video-player


【解决方案1】:

请检查下面这段代码,下载是在后台线程中进行的,所以不会影响用户界面。

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")

【讨论】:

  • 是的。但这会比较慢。
  • 虽然值得一试
  • 稍作改动,这段代码就可以工作了。坦克@DHEERAJ
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-06
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
相关资源
最近更新 更多