无法全屏显示MPMoviePlayerViewController或MoviePlayerController

无法全屏显示MPMoviePlayerViewController或MoviePlayerController

问题描述:

我试图创建一个电影,当我的应用程序启动时播放。第一个视图Controller是一个UITabBarController。在第一个标签的视图控制器代码中,我放置了电影。这个虚拟的代码工作(设置框架比全屏幕较小,只是表示影像):无法全屏显示MPMoviePlayerViewController或MoviePlayerController

- (void)PlayOpeningMovie { 
    NSString *filepath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"m4v"]; 
    NSURL *fileURL = [NSURL fileURLWithPath:filepath]; 
    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
// MPMoviePlayerViewController *moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL]; 
    [moviePlayerController.view setFrame:CGRectMake(120, 120, 300, 200)]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlaybackComplete:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:moviePlayerController]; 
    [self.view addSubview:moviePlayerController.view]; 
// [moviePlayerController setFullscreen:YES]; 
// [self presentMoviePlayerViewControllerAnimated:moviePlayerController]; 

    [moviePlayerController play]; 
// [[moviePlayerController moviePlayer] play]; 
} 

但是,如果我周围打开它,注释掉SETFRAME方法,并使用全屏的财产,我看不到电影。

我也在玩弄创建一个MPMovieplayerViewController并用MPMoviePlayerViewControllers的方法模态地呈现,但它永远不会呈现,我不明白为什么。我试着用黄色背景创建一个虚拟viewController,并且以模态方式呈现,并且不起作用。

我已经尝试添加一个虚拟的UIView到屏幕上,并且工作。

因此,出于某种原因,我可以使用addSubview显示小UIViews/MPMoviePlayers。我无法使当前模式正常工作。我无法使全屏模式工作于MoviePlayerController。我非常难以理解,为什么我无法从这种观点出发。谢谢。

+0

当使用全屏时,我认为你应该在添加子视图之前设置帧大小,然后设置全屏。 – Zigglzworth

[moviePlayerController setControlStyle:MPMovieControlStyleFullscreen]; 

[moviePlayerController setFullscreen:YES];

只需添加这两行以全屏显示即可。