玩我想下载或文档目录保存YouTube视频然后发挥该视频使用MPMoviePlayerViewController。但我不知道为什么我的代码不工作。我无法保存或下载文件的目录视频和文档目录
我用下面这段代码:
prgrma mark-下载或保存
-(IBAction)onclick_download:(id)sender
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"Downloading Started");
NSString *urlToDownload = @"youtubeurl";
NSURL *url = [NSURL URLWithString:urlToDownload];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if (urlData)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"thefile.mp4"];
//saving is done on main thread
dispatch_async(dispatch_get_main_queue(), ^{
[urlData writeToFile:filePath atomically:YES];
NSLog(@"File Saved !");
});
}
});
}
编译mark-从当你的链接,你所提供的文档目录
-(IBAction)onclick_playvideolocally:(id)sender
{
[self playvideolocally];
}
-(void)playvideolocally
{
NSURL *videoUrl;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
NSLog(@"files array %@", filePathsArray);
NSString *fullpath;
for (NSString *apath in filePathsArray)
{
fullpath = [documentsDirectory stringByAppendingPathComponent:apath];
videoUrl =[NSURL fileURLWithPath:fullpath];
}
MPMoviePlayerViewController *videoPlayerView = [[MPMoviePlayerViewController alloc] initWithContentURL:videoUrl];
[self presentMoviePlayerViewControllerAnimated:videoPlayerView];
[videoPlayerView.moviePlayer play];
}
的的MPMoviePlayerController类在IOS 9.正式弃用(MPMoviePlayerViewController类也正式弃用。)为了在IOS 9播放视频内容和更高版本,而是使用AVPictureInPictureController或AVPlayerViewController类从AVKit框架,或来自WebKit的WKWebView类。 –
您无法直接从网址下载YouTube视频,也不能从app store购买safe.apple不允许从第三方下载视频 –
@SunnyShah:那么从URL下载管状视频的其他选项是什么? –