MPMoviePlayerController:方向问题

时间:2011-09-28 09:58:35

标签: iphone uiviewcontroller mpmovieplayercontroller

最后我必须在这里发布我的问题。是的,这可能是重复的问题,因为我已经提到了很多关于这个问题的答案。但我找不到任何解决办法。 (也没有找到任何关于tab-bar app特定的问题所以...)而且我不想使用MPMoviePlayerViewController

我有标签栏应用程序。在最后一个标签的VC中有一个按钮。点击活动我想启动电影播放器​​。为此我使用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 :(得分:0)

您正在制作窗口横向,但是在滚动视图中设置了MPMoviePlayer视图时,它不会旋转。尝试根据您的方向旋转滚动视图。 请参阅此链接http://blog.sallarp.com/shouldautorotatetointerfaceorientation/。希望它能解决你的问题。