Используете ли вы iOS до 4.3? Если это так, вам нужно сделать это
[videoPlayerView setContentURL: fURL];
Вот фрагмент кода, из которого я воспроизводю видео из папки документов. Одна из вещей, которые я бы порекомендовал, - это избегать некоторых авто-релизных объектов. Особенно на NSURL, когда у вас есть viewcontrollers. Я знаю, что это должно быть безопасно, но я никогда не находил это 100%
if ( [[NSFileManager defaultManager] fileExistsAtPath:fullpathVideoFile] == NO )
{
NSLog(@"No video file found");
return self;
}
playbackURL = [[NSURL alloc] initFileURLWithPath:fullpathVideoFile isDirectory:NO];
if ( playbackURL == nil )
{
NSLog(@"playbackURL == nil");
return self;
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerLoadedMovie:) name:@"MPMoviePlayerLoadStateDidChangeNotification" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerStartedMovie:) name:@"MPMoviePlayerNowPlayingMovieDidChangeNotification" object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerFinishedMovie:) name:@"MPMoviePlayerPlaybackDidFinishNotification" object:nil];
[self setContentURL:playbackURL];
В моем случае я создал подкласс MPMoviePlayerController (как я обычно это делаю со всеми контроллерами представления), поэтому ссылки на 'self' будут относиться к экземпляру объекта MPMoviePlayerController