MPMoviePlayerController全屏模式问题

我的播放video文件的代码有问题。 每当我以全屏模式播放文件,播放不会占用我的所有屏幕。 这是相关的代码:

NSURL *url = [NSURL fileURLWithPath:@"Somefile.mov"]; moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; [moviePlayer setControlStyle:MPMovieControlStyleFullscreen]; [moviePlayer setFullscreen:YES]; moviePlayer.view.frame = self.switchView.frame; [self.switchView addSubview:moviePlayer.view]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackStateDidChange:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:moviePlayer]; [moviePlayer prepareToPlay]; [moviePlayer play]; 

这是我得到的输出:

在这里输入图像说明

选项A:改为使用MPMovieViewController并使用presentMoviePlayerViewControllerAnimated:模态方式显示它。

选项B:确保您的switchView(用于添加moviePlayer的视图)实际占用整个屏幕。

选项C:用负垂直偏移重新调整moviePlayer视图的框架,直到它适合 – 例如: moviePlayer.view.frame = CGRectMake(0.0f, -20.0f, 320.0f, 480.0f);

注意:MPMoviePlayerController在使用控件样式MPMovieControlStyleFullscreen总是显示一个状态栏,而不pipe应用程序的其余部分如何处理状态栏。

从下面的方法改变你的播放器的controlstyle属性: – (void)applyUserSettingsToMoviePlayer

player.controlStyle = MPMovieControlStyleFullScreen导致上述问题,将其更改为MPMovieControlStyleEmbedded,看看是否工作。