Сохранение / получение видеофайлов в iOS
Я просматривал, но не мог найти решение моей проблемы. Я пытаюсь сохранить некоторые видеофайлы в каталог моего приложения. Я делаю это следующим образом:
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. Я действительно не хочу использовать библиотеку фотографий, поскольку приложение, вероятно, будет содержать достаточное количество видео.
1 ответ
Если вы действительно хотите сохранить его в документах своего приложения, вам придется использовать 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.
Я надеюсь, что это поможет вам.