Как повернуть видео MPMoviePlayerController, но не для его просмотра

#iphone #xcode #ios4 #video

#iPhone #xcode #ios4 #Видео

Вопрос:

Мой вид MPMoviePlayerController добавлен в качестве подвида к виду другого контроллера просмотра. Когда я проигрываю видео в полноэкранном режиме и переворачиваю симулятор, видео не переворачивается, как и родительский просмотр. Однако, когда я добавляю return YES к методу поворота (проверьте коды ниже), видео поворачивается в полноэкранном режиме, как я хотел, но родительский вид также поворачивается, чего я не хочу, потому что я не создавал альбомный вид для родительского вида. Как я могу разрешить поворот ТОЛЬКО для видео, когда оно находится в полноэкранном режиме, а не в родительском представлении??

Вот коды, которые я использовал:

Для видео:

 - (void)viewDidAppear:(BOOL)animated {

    NSBundle *bundle=[NSBundle mainBundle];
    NSString *moviePath = [bundle pathForResource:@"MainPageMovie" ofType:@"mp4"];
    NSURL *movieURL=[[NSURL fileURLWithPath:moviePath] retain];
    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
    theMovie.scalingMode = MPMovieScalingModeAspectFill;
    theMovie.view.frame = CGRectMake(115.0, 156.0, 200.0, 150.0);
    [self.view addSubview:theMovie.view];
    [theMovie play];

    [super viewDidLoad];
    self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor];
}
  

И для метода поворота:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES;
}
  

Ответ №1:

Простым способом было бы использовать MPMoviePlayerViewController для отображения фильма. Поскольку это отдельный контроллер просмотра, он должен обрабатывать вращение за вас.

Если вы действительно хотите сделать это, добавив MPMoviePlayerController в качестве подпросмотра, перед вами стоит более сложная задача. В принципе, вам пришлось бы прослушать UIDeviceOrientationDidChangeNotification и применить соответствующие transform , bounds и center к просмотру видеоплеера в зависимости от ориентации устройства.

Комментарии:

1. Итак, по сути, я либо создаю альбомный вид для родительского вида, что заставило бы меня создавать альбомные виды для всего приложения, либо продолжаю воспроизводить видео в портретном режиме, да ?? : P В любом случае, спасибо 🙂 Я попытаюсь добавить видео в отдельный просмотр. Это должно решить мою проблему 🙂