首页 > 解决方案 > 如何在 AVPlayer 中默认以横向模式播放视频?

问题描述

- (void)playMethod
{
    NSURL *url = [[NSURL alloc] initWithString:@"https://www.rmp- 
    streaming.com/media///bbb-360p.mp4"];
    player = [AVPlayer playerWithURL:url];
    controller = [[AVPlayerViewController alloc] init];
    [self addChildViewController:controller];
    [self.view addSubview:controller.view];

    controller.view.frame = CGRectMake(15,50,345,300);
    controller.player = player;
    controller.showsPlaybackControls = YES;
    player.closedCaptionDisplayEnabled = NO;

    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
    [button1 addTarget:self
                action:@selector(backMethod)
      forControlEvents:UIControlEventTouchUpInside];
    [button1 setTitle:@"Back" forState:UIControlStateNormal];
    [button1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
     button1.frame = CGRectMake(50.0, CGRectGetMinY(controller.view.frame)+10, 160.0, 40.0);
    button1.tag = 1001;
    [self.view addSubview:button1];
    [controller.view  bringSubviewToFront:button1];
    [player pause];
    [player play];
    }

我现在想以横向模式播放视频,它以纵向模式播放。我希望在调用 playMethod 时它应该只以横向模式打开视频。

标签: iosobjective-ciphoneavplayer

解决方案


创建从 AVPlayerViewController 继承的自定义类并使用它而不是基本 AVPlayerViewController

import AVKit

class CustomAVPlayerViewController: AVPlayerViewController {

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .landscapeLeft
    }
}

推荐阅读