我正在使用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
}
答案 0 :(得分:1)
你必须提供申请的UIViewController
个,以决定它是landscape
还是portrait
。
之后,将所有其余部分设置为纵向,除了您想要的横向(MPMoviePlayerController
)
答案 1 :(得分:0)
在项目设置(App Target> General> Deployment Info> Device Orientation)中,选择Portrait,Landscape Left和Landscape Right。
在根视图控制器中,添加:
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
如果所有内容都加载到此视图控制器中,那么您应该完成所有操作。如果您发现某些视图在不应该旋转时,请将相同的代码添加到其视图控制器中。
全屏视频的控制器将使用目标设置中指定的支持方向,因此将允许旋转到横向。关闭视频时,视图将旋转回纵向。