我正在使用 MPMoviePlayerController
开发一个应用程序 . 该应用程序仅支持纵向模式 . 但是当我将设备方向更改为横向并将设备方向更改为纵向时,我希望在全屏幕中更改视频 .
如果在横向和全屏模式下,电影结束,则进入半屏模式 .
我尝试了不同的代码和选项,但无法成功 . 请帮忙 .
我的源代码
@property (nonatomic,strong) MPMoviePlayerController* moviePlayer;
-(void)PlayVideoContent
{
CGFloat x = 0;
CGFloat y = 70;
CGRect mpFrame = CGRectMake(x, y, SCREEN_WIDTH, 200);
NSString * introVideoFileName = @"video_5.mp4";
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:introVideoFileName ofType:@""]];
MPMoviePlayerController *controller = [[MPMoviePlayerController alloc] initWithContentURL:url];
controller.scalingMode = MPMovieScalingModeAspectFill;
self.moviePlayer = controller; //Super important
// controller.view.frame = self.view.bounds; //Set the size
controller.view.frame = mpFrame; //Set the size
// [self.moviePlayer setFullscreen:YES animated:YES];
[self.view addSubview:self.moviePlayer.view]; //Show the view
[self.moviePlayer play]; //Start playing
}
2 回答
在项目设置(App Target> General> Deployment Info> Device Orientation)中,选择Portrait,Landscape Left和Landscape Right .
在根视图控制器中,添加:
如果所有内容都加载到此视图控制器中,那么您应该完成所有操作 . 如果您发现某些视图不应该旋转,请将相同的代码添加到其视图控制器中 .
全屏视频的控制器将使用目标设置中指定的支持方向,因此将允许旋转到横向 . 关闭视频时,视图将旋转回纵向 .
你必须给你的申请
UIViewController
(s)决定它是在landscape
还是portrait
.之后,将所有其余部分设置为纵向,除了您想要的横向(
MPMoviePlayerController
)