【问题标题】:How to save video in directory from url? [duplicate]如何从 url 将视频保存在目录中? [复制]
【发布时间】:2016-08-22 14:06:10
【问题描述】:

我想将视频从 url 保存到目录并在应用程序的画廊中显示。

下面是我的代码:

import UIKit
import AVFoundation
import AVKit

class SettingsViewController: UIViewController {

    @IBOutlet var urlLabel: UITextField!
    let PlayerController = AVPlayerViewController()
    var Player:AVPlayer?

    //
    //    override func viewDidLoad() {
    //        super.viewDidLoad()
    //
    //    }
    //    override func didReceiveMemoryWarning() {
    //        super.didReceiveMemoryWarning()
    //        // Dispose of any resources that can be recreated.
    //    }
    //

    @IBAction func downloadButton(sender: AnyObject) {

        let urlLabel1 = urlLabel.text
        let videoURL:NSURL? = NSURL(string: urlLabel1!)

        if let url = videoURL {
            self.Player = AVPlayer(URL: url)
            self.PlayerController.player = self.Player
            self.presentViewController(self.PlayerController, animated: true) { self.PlayerController.player?.play()}
            print("work")
        }
        else {
            var refreshAlert = UIAlertController(title: "Error", message: "Please correct your URL", preferredStyle: UIAlertControllerStyle.Alert)
            refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in
                print("Handle Ok logic here")
            }))
            presentViewController(refreshAlert, animated: true, completion: nil)

            print("not work")
        }
    }
}

有什么办法可以实现吗?

【问题讨论】:

    标签: ios swift apple-tv


    【解决方案1】:
    //Save Video to Home Directory 
    func saveVideoFromURL(videoURL: NSURL, name: String) {
        let homeDirectory = NSURL.fileURLWithPath(NSHomeDirectory(), isDirectory: true)
        let fileURL = homeDirectory.URLByAppendingPathComponent(name).URLByAppendingPathComponent("mov")
    
        let urlData = NSData(contentsOfURL: videoURL)
        urlData?.writeToURL(fileURL, atomically: true)
    }
    
    //Extract video from home directory
    func getVideoFromDirectoryWithName(name: String) -> NSData {
        let homeDirectory = NSURL.fileURLWithPath(NSHomeDirectory(), isDirectory: true)
        let fileURL = homeDirectory.URLByAppendingPathComponent(name).URLByAppendingPathComponent("mov")
    
        let fileData = NSData(contentsOfURL: fileURL)!
        return fileData
    }
    

    【讨论】:

      【解决方案2】:

      假设 URL 直接指向视频,您可以简单地创建一个 NSURLSessionDownloadTask 将视频数据下载到文件系统中,并在完成下载后,通过为本地视频创建一个 AVPlayerItem 打开视频。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 2012-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多