iPhone: MPMoviePlayerController не вращается на iOS 5.0 - PullRequest
1 голос
/ 28 ноября 2011

Мой код работал нормально, пока я не обновил iPhone до iOS 5.0.MPMoviePlayerViewController раньше работал нормально, но он не работает на iOS 5.0, поэтому я должен использовать MPMoviePlayerController для iOs 5.0 и более поздних версий.Он работает нормально, но MPMoviePlayerController не вращается автоматически, как это было с MPMoviePlayerViewController.

Ниже приведен мой код.Может кто-нибудь предложить мне, как заставить код MPMoviePlayerController вращаться автоматически?

 -(void)playVideo {
NSString *filePath = [appDelegate filePath:@"startup.mp4"]; 

if(!appDelegate.iOS5) {
    // This works perfectly till iOS 4 versions. Rotates automatically
    MPMoviePlayerViewController *videoController = [[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:filePath]] autorelease];
    [self presentMoviePlayerViewControllerAnimated:videoController];
} else {
    // This doesn't rotate automatically
    NSURL *url = [NSURL fileURLWithPath:filePath];
    MPMoviePlayerController* moviePlayer =  [[[MPMoviePlayerController alloc] initWithContentURL:url] autorelease];

    moviePlayer.controlStyle = MPMovieControlStyleDefault;
    moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:moviePlayer.view];
    [moviePlayer setFullscreen:YES animated:YES];
}
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

1 Ответ

0 голосов
/ 28 ноября 2011

Попробуйте создать подкласс MPMoviePlayerController и принудительно установить ориентацию только на портрет.

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {

      return (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

Не лучшее решение, но, думаю, оно должно сработать.

...