Сохранение / получение видеофайлов в iOS - PullRequest
3 голосов
/ 14 мая 2011

Я просматривал, но не смог найти решение своей проблемы.Я пытаюсь сохранить некоторые видеофайлы в каталог моего приложения. Я делаю это следующим образом:

  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 Ответ

4 голосов
/ 22 ноября 2012

Если вы действительно хотите сохранить его в документах своего приложения, вам придется использовать 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.

Надеюсь, это поможет вам.

...