Перевернуть видео по горизонтали в Xcode - PullRequest
0 голосов
/ 10 апреля 2011

У меня есть такое видео, что при воспроизведении в полноэкранном режиме и переворачивании симулятора по горизонтали видео не переворачивается.Как сделать так, чтобы видео переворачивалось в соответствии с акселерометром iPhone?

Вот код для видео, если оно помогает:

- (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];
}

Ответы [ 2 ]

0 голосов
/ 10 сентября 2012

Чтобы повернуть определенные подпредставления более крупного представления контроллера представления (что в вашей ситуации будет иметь место только при повороте видео), вам нужно будет сделать CGAffineTransform с. Это позволит вам изменить размер вида, повернуть его и т. Д. AFAIK, это, вероятно, лучший путь для поворота одного вида.

Однако, возможно, вы захотите больше изучить MPMoviePlayerViewController. Взгляните на этот пост , похоже, он решает вашу проблему.

0 голосов
/ 10 апреля 2011

Ваше представление MPMoviePlayerController добавляется как подпредставление к представлению другого контроллера представления. В этом родительском контроллере представления вы переопределяли метод shouldAutorotateToInterfaceOrientation? Если вы просто ищете горизонтальное (горизонтальное) вращение, вы можете использовать свой код, как показано ниже:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Overriden to allow any orientation.
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
...