MPMoviePlayerController: проблема ориентации - PullRequest
1 голос
/ 28 сентября 2011

наконец я должен опубликовать свою проблему здесь.Да, это может быть повторяющийся вопрос здесь, так как я отослал много ответов относительно этого вопроса. Но я не мог найти никакого решения.(Также не было найдено вопросов относительно конкретного приложения панели вкладок, так что ...) И я не хочу использовать MPMoviePlayerViewController

У меня есть приложение панели вкладок.В ВК последней вкладки есть кнопка.По событию клика хочу запустить проигрыватель фильмов.Для этого я использую MPMoviePlayerController.Все хорошо, когда ориентация Портрет .Что касается изменений, то теперь я должен играть только в ландшафтном режиме.

вот мой код:

-(void)playMovie
{
    [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
    [self.scrollView addSubview:moviePlayer.view];

    [moviePlayer play];
    [moviePlayer setFullscreen:TRUE];
}
-(void)btnPlayHandler:(id)sender
{   
    NSLog(@"btnPlayHandler");

    NSURL * videoUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@",[dictResponse valueForKey:@"VideoPath"]]];
    moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:videoUrl];
    //[moviePlayer.view setFrame:CGRectMake(20, 40, 280, 222)]; 
    moviePlayer.fullscreen = YES ;
    moviePlayer.shouldAutoplay = NO ;

    [self performSelector:@selector(playMovie) withObject:nil afterDelay:1];    
}

- (void) movieWillExit:(NSNotification *)notification
{
    [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
}

- (void) movieExit:(NSNotification *)notification
{
    [moviePlayer stop];
    [moviePlayer.view removeFromSuperview];
    moviePlayer = nil ;

    [btnPlay setHidden:FALSE];
}

- (void)moviePreLoad:(NSNotification *)notification  
{
    NSLog(@"moviePreLoad");
}

- (void)moviePlaybackComplete:(NSNotification *)notification  
{  
    NSLog(@"moviePlaybackComplete");
    [btnPlay setHidden:FALSE];
} 

Меняется только ориентация устройства, а не вид игрока!Как это сделать ???Это потому, что приложение панели вкладок?

1 Ответ

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

Вы создаете пейзаж окна, но поскольку вы установили представление MPMoviePlayer в виде прокрутки, оно не вращается. попробуйте повернуть вид прокрутки в соответствии с вашей ориентацией. Смотрите эту ссылку http://blog.sallarp.com/shouldautorotatetointerfaceorientation/. Надеюсь, это решит вашу проблему.

...