Почему не работает любой другой формат видеофайлов, кроме.mov?
У меня есть приложение в магазине приложений, которое воспроизводит подборку видео. В настоящее время все видео имеют формат файла.mov, но это делает размер приложения довольно большим, поэтому я пытаюсь использовать другой формат файла, чтобы уменьшить общий размер приложения. Я пытаюсь использовать формат mp4, так как это уменьшает размер каждого видео более чем наполовину, но когда я это делаю, приложение вылетает, когда я пытаюсь воспроизвести видео со следующим сообщением об ошибке: "Завершение работы приложения из-за необработанного исключения" NSInvalidArgumentException', причина:'* - [NSURL initFileURLWithPath:]: параметр строки nil Я использовал следующий код для каждого видео в моем файле реализации и изменил имя и тип файла, чтобы соответствовать новому видео, поэтому я не понимаю, почему там должна быть проблема с путем к файлу.
- (IBAction)playDaresWins:(id)sender {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"DaresWins" ofType:@"mov"]];
_moviePlayer =
[[MPMoviePlayerController alloc]
initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_moviePlayer];
_moviePlayer.controlStyle = MPMovieControlStyleNone;
_moviePlayer.shouldAutoplay = YES;
[self.view addSubview:_moviePlayer.view];
[_moviePlayer setFullscreen:YES animated:NO];
}
Я что-то пропустил?
1 ответ
.mov
это не видео формат или кодек, это контейнер. Документация разработчика содержит список поддерживаемых видеокодеков, скорости передачи данных и разрешения ( ссылка здесь - я не буду размещать их здесь, поскольку они могут меняться от версии ОС к версии ОС).
Тем не менее, я не думаю, что это проблема, потому что похоже, что вы получаете исключение при создании NSURL
, а не когда вы проигрываете видео. Это говорит о том, что путь, который вы предоставляете для своего видео, не существует. Вы уверены, что у вас есть a) правильное имя файла, b) правильное расширение (возможно, это MP4 вместо MOV), или c) правильно добавили файл фильма в ваш проект?