无法全屏显示MPMoviePlayerViewController或MoviePlayerController

时间:2011-10-05 19:37:03

标签: iphone mpmovieplayercontroller

我正在尝试创建一个在我的应用启动时播放的电影。第一个视图Controller是一个UITabBarController。在第一个选项卡的视图控制器的代码中,是我放置电影的地方。这个虚拟代码可以工作(将帧设置为小于整个屏幕,只显示视频):

- (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。我无法使presentModal_ _ 正常工作。我无法使用全屏模式为MoviePlayerController工作。我真的很难过为什么我不能从这个观点出现模态。谢谢。

1 个答案:

答案 0 :(得分:1)

[moviePlayerController setControlStyle:MPMovieControlStyleFullscreen];

[moviePlayerController setFullscreen:YES];

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