2016-08-18 14 views
0

私はviewSettingsViewControllerを持っており、テキストフィールドにあるurlからムービーをダウンロードしたいと思います。URLから動画をダウンロードしてギャラリーに保存する方法は?

以下

アプリの画面である:

以下

enter image description here

は私のコードである:

インポートのUIKit インポートAVFoundation インポートAVKit クラスSettingsViewController:のUIViewController {

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

override func viewDidLoad() { 
    super.viewDidLoad() 



    let videoUrl:NSURL = NSData(contentsOfURL:urllabel) 

    if let url = videoURL { 
     self.Player = AVPlayer(URL: url) 
     self.PlayerController.player = self.Player 
    } 

} 

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


@IBAction func downloadButton(sender: AnyObject) { 

    self.presentViewController(self.PlayerController, animated: true) { 
     self.PlayerController.player?.play() 
    } 
} 

}

このアプリを作る方法は?

答えて

-1

これはすべて別のスレッドで実行する必要があります(UIスレッド)。

これはダウンロードする最も基本的な方法です。あなたのニーズに合ったものをお探しなら、AFNNetworkingをダウンロードしてみてください。

#import <AssetsLibrary/AssetsLibrary.h> 

NSData *data = [NSData dataWithContentsOfURL:url]; 

// Write it to cache directory 
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"file.mov"]; 
[data writeToFile:path atomically:YES]; 


// After that use this path to save it to PhotoLibrary 
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library writeVideoAtPathToSavedPhotosAlbum:[NSURL fileURLWithPath:path] completionBlock:^(NSURL *assetURL, NSError *error) { 

    if (error) { 
     NSLog(@"%@", error.description); 
    }else { 
     NSLog(@"Done :)"); 
    } 
}]; 
+0

なぜ投票しましたか?それは動作しませんでしたか?あなたが探している答えではありませんか?説明してください – MCMatan

関連する問題