Пример кода от Apple некорректен или, скажем, устарел. Вам необходимо добавить представление moviePlayer в качестве подпредставления к вашему представлению. Примерно так:
MPMoviePlayerController *moviePlayer = [[[MPMoviePlayerController alloc] initWithContentURL:path] autorelease];
...
// Adjust positioning where I used the bound of the outer view (of type UIView)
moviePlayer.view.frame = outerView.bounds;
// Now add the movie player to the outer view
[outerView addSubView:moviePlayer.view];
...
Это должно сработать.
Извините, я не видел, чтобы вы добавили подпредставление.
Хорошо, для примера кода вы можете взять пример проекта XCode с именем MoviePlayer_iPhone (внутри документации XCode для MPMoviePlayerController вы найдете ссылку для примера проекта MoviePlayer ) просто настройте initAndPlayMovie AppDelegate таким образом:
-(void)initAndPlayMovie:(NSURL *)movieURL
{
// Initialize a movie player object with the specified URL
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if (mp)
{
// save the movie player object
self.moviePlayer = mp;
[mp release];
// Apply the user specified settings to the movie player object
[self setMoviePlayerUserSettings];
self.moviePlayer.view.frame = self.window.bounds;
[self.window addSubview:self.moviePlayer.view];
// Play the movie!
[self.moviePlayer play];
}
}
Этот файл грубый, поскольку он не устанавливает рамку или не центрирует изображение, но должен отображать фильм, когда вы переходите к local и нажимаете Play Movie .
Единственный недостаток, который я увидел, это то, что полноэкранный режим не становится черным. Тем не менее, пример проекта довольно странный и не очень хорошо написан. При этом отображается не полноэкранное видео.