Iphone 在全屏模式下添加MPMoviePlayerController?

Iphone 在全屏模式下添加MPMoviePlayerController?,iphone,objective-c,ios4,mpmovieplayercontroller,Iphone,Objective C,Ios4,Mpmovieplayercontroller,我的iPhone应用程序中有一个UIButton,点击它可以播放电影。播放电影的代码如下所示: NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"]; moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; moviePlayer.controlStyle = MPMovieControlModeDe

我的iPhone应用程序中有一个UIButton,点击它可以播放电影。播放电影的代码如下所示:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle = MPMovieControlModeDefault;
[moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
我希望电影以全屏模式打开,就像iOS 3.2更新之前的所有电影一样,蓝色的“完成”按钮位于左上角,默认情况下视频以横向模式播放


有人知道怎么做吗?谢谢。

假设self.view正在使用整个屏幕:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
moviePlayer.view.transform = CGAffineTransformConcat(moviePlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
[moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
现在假设您基本上不想使用当前的self.view,而只是让它全屏工作(我称之为假全屏,因为它不调用fullscreen属性)


我认为最好的解决方法是使用
mpmovieplayervcontroller
而不是
mpmovieplayervcontroller

mpmovieplayervewcontroller
类实现了一个用于显示全屏电影的简单视图控制器。与单独使用
MPMoviePlayerController
对象立即显示电影不同,您可以在通常使用视图控制器的任何位置合并电影播放器视图控制器


要以模式显示电影播放器视图控制器,通常使用
presentmovieplayervicecontrolleranimated:
方法。此方法是UIViewController类的一个类别的一部分,由
媒体播放器框架
实现。
presentmovieplayervicecontrolleranimated:
方法使用标准转换动画来呈现视频内容,从而呈现电影播放器视图控制器。要关闭以模式显示的电影播放器视图控制器,请调用DismissMoviePlayServiceController激活的方法。

谢谢!实际上,self.view不是全屏的。你知道我怎么把视频设成全屏的吗?等等,我找到了<代码>[moviePlayer设置全屏:是动画:是]哦。。。再等等!插入该线路可防止在横向加载视频。知道怎么做吗?假全屏:只需使用整个屏幕,例如,将moviePlayer.view直接添加到当前的键窗口。谢谢!将播放器插入按键窗口的绝妙主意。是的,使用
mpmovieplayervewcontroller
可以最大限度地减少编写大量代码的需要。
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
moviePlayer.view.transform = CGAffineTransformConcat(moviePlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow];
[moviePlayer.view setFrame:backgroundWindow.frame];
[backgroundWindow addSubview:moviePlayer.view];
[moviePlayer play];