MPMoviePlayerController全屏模式问题
我的代码播放视频文件时出现问题。每当我以全屏模式播放文件时,播放不会占用我的全部屏幕。下面是相关代码:MPMoviePlayerController全屏模式问题
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
时,无论怎样一个状态栏其余的应用程序处理状态栏。
我做了选项C,它解决了我的问题。另外在viewDidAppear中,我把moviePlayer.view.frame = CGRectMake(0.0f,-20.0f,320.0f,480.0f);因为否则电影屏幕跳跃!但对于addSubView部分,我将它放在0.0f上。 – rockstarberlin 2013-11-28 15:47:45
更改您的播放器从下面的方法ControlStyle属性: - (无效)applyUserSettingsToMoviePlayer
player.controlStyle = MPMovieControlStyleFullScreen导致上述问题,将其更改为MPMovieControlStyleEmbedded,看看是否可行。
尝试这一个,而不是你正在设置的框架moviePlayer.view.frame = self.switchView.bounds; – Ravin 2011-04-17 09:56:04
现在看来下方的酒吧处于正确的位置,但顶部酒吧仍然较低。 http://img849.imageshack.us/i/defaultj.png/ – Diurpaneus 2011-04-17 11:23:48