首页 文章

iOS:如何在MPMoviePlayerController中将设备方向更改为横向时全屏视频?

提问于
浏览
0

我正在使用 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 回答

  • 1

    在项目设置(App Target> General> Deployment Info> Device Orientation)中,选择Portrait,Landscape Left和Landscape Right .

    在根视图控制器中,添加:

    - (BOOL)shouldAutorotate
    {
        return YES;
    }
    
    - (NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskPortrait;
    }
    

    如果所有内容都加载到此视图控制器中,那么您应该完成所有操作 . 如果您发现某些视图不应该旋转,请将相同的代码添加到其视图控制器中 .

    全屏视频的控制器将使用目标设置中指定的支持方向,因此将允许旋转到横向 . 关闭视频时,视图将旋转回纵向 .

  • 0

    你必须给你的申请 UIViewController (s)决定它是在 landscape 还是 portrait .

    之后,将所有其余部分设置为纵向,除了您想要的横向( MPMoviePlayerController

相关问题