我一直在浏览,但无法找到问题的解决方案。我正在尝试将一些视频文件保存到我的应用程序目录中,如下所示:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// the path to write file
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"myFile"];
NSLog(@"%@",appFile);
[[NSUserDefaults standardUserDefaults] setValue:appFile forKey:@"videoURL"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
NSData *webData = [NSData dataWithContentsOfURL:videoURL];
[webData writeToFile:appFile atomically:YES];
我的问题是,这是保存电影文件的正确方法吗?如果是,我如何将NSData转换为可以通过MPMoviePlayer播放的文件?谢谢你的帮助。
PS。我真的不想使用照片库,因为应用程序可能会容纳相当数量的视频。
答案 0 :(得分:4)
如果您确实要将其保存在应用的文档中,则必须使用NSFileManager
它可能看起来像那样
NSString* completeFileName = [NSString stringWithFormat:@"%@",movieName];
NSString* filename = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:completeFileName];
[[NSFileManager defaultManager] createFileAtPath:filename contents:yourMovieData attributes:nil];
您可能还需要使用NSFileHandle
要阅读MPMoviePlayer中的视频,如果您认为可以像这样制作NSURL
[NSURL fileURLWithPath:path isDirectory:NO];
然后你将该网址提供给你的MPMoviePlayer。
我希望这会对你有所帮助。