Iphone MPMoviePlayerController全屏模式问题
我播放视频文件的代码有问题。每当我以全屏模式播放文件时,播放不会占据我的所有屏幕。以下是相关代码:Iphone MPMoviePlayerController全屏模式问题,iphone,ios,mpmovieplayercontroller,Iphone,Ios,Mpmovieplayercontroller,我播放视频文件的代码有问题。每当我以全屏模式播放文件时,播放不会占据我的所有屏幕。以下是相关代码: NSURL *url = [NSURL fileURLWithPath:@"Somefile.mov"]; moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; [moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
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
,并使用PresentMoviePlayServices控件以模式显示它
选项B:确保您的switchView(用于添加电影播放器的视图)实际占据整个屏幕
选项C:使用负垂直偏移重新调整电影播放器视图的框架,直到其适合-例如:moviePlayer.view.frame=CGRectMake(0.0f,-20.0f,320.0f,480.0f)代码>
注意:当使用控件样式时,无论应用程序的其他部分如何处理状态栏,MPMoviePlayerController始终显示一个状态栏。通过以下方法更改播放机的controlstyle属性:-(无效)applyUserSettingsToMoviePlayer
player.controlStyle=MPMovieControlStyleFullScreen导致上述问题,请将其更改为MPMovieControlStyleEmbedded,然后查看是否有效。尝试此选项,而不是您正在设置的帧moviePlayer.view.frame=self.switchView.bounds;看起来下杆现在位置正确,但上杆仍然较低。我选择了C选项,它解决了我的问题。此外,在viewDidAppear中,我将moviePlayer.view.frame=CGRectMake(0.0f,-20.0f,320.0f,480.0f);因为否则电影屏幕会跳!但对于addSubView部分,我将其保留在0.0f上。