Ответ 1
Просто понял, что вопрос был специфичным для iPad. Мой код был для iPhone, но некоторые из них могут вам помочь.
Мне пришлось сделать это пару дней назад, я думаю, что ваша проблема просто не вызывает скрытие в строке состояния после начала воспроизведения видео. В любом случае у меня есть проверенный и проверенный код здесь, который работает от 3.0 до 4.2:
- (IBAction) playIntroVideo
{
NSString *videoString = [[NSBundle mainBundle] pathForResource:@"intro" ofType:@"mp4"];
NSURL *videoURL = [NSURL fileURLWithPath:videoString];
_player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
if
(
[_player respondsToSelector:@selector(view)] &&
[_player respondsToSelector:@selector(setFullscreen:animated:)] &&
[_player respondsToSelector:@selector(setControlStyle:)]
)
{
[[_player view] setFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT_FULL)];
[_player setFullscreen:YES animated:YES];
[_player setControlStyle:MPMovieControlStyleNone];
[self.view addSubview:[_player view]];
}
[_player play];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(terminateVideo)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
self.navigationController.navigationBarHidden = YES;
}
- (void) terminateVideo
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
self.navigationController.navigationBarHidden = NO;
if ([_player respondsToSelector:@selector(view)])
{
[[_player view] removeFromSuperview];
}
_player = nil;
[_player release];
}