iphone - 在 iOS 中保存/检索视频文件

标签 iphone ios video nsdata

我一直在四处浏览,但找不到解决我的问题的方法。我正在尝试将一些视频文件保存到我的应用程序目录中,我这样做如下:

  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 播放的文件?感谢您的帮助。

附言。我真的不想使用照片库,因为该应用可能包含大量视频。

最佳答案

如果你真的想把它保存在你的应用程序的文档中,你将不得不使用 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];

然后将该 URL 提供给您的 MPMoviePlayer。

希望对您有所帮助。

关于iphone - 在 iOS 中保存/检索视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998598/

相关文章:

ios - UITableView 中的嵌套数据

iphone - 如何将数据从一个实体传递到另一个实体类?

javascript - 全元素视频全屏

ios - 在 ARKit 上使用 YoutubePlayerView

iphone - 收到通知的频率比发送通知的频率高

iphone - UITableViewCell 的 DetailTextLabel 为 null,缺少什么?

iphone - 通过从文档中复制 .sqlite 文件预填充核心数据

ios - TableView 不在 ViewController 中显示数据 : Swift

video - ffmpeg从指定时间段缓慢转换视频

iphone - UIDatePicker 在 iPad 上显示很奇怪,但在 iPhone 上显示正常