Полноэкранный режим AVPlayer

я использую AVPlayer в своих приложениях вместо MPMoviePlayerController, так как я хочу поместить плеер в качестве подслоя. Однако мне нужно управление, такое как воспроизведение, пауза, поиск и полноэкранный режим. Как мне получить эту кнопку в AVPlayer? Вот как я поставил плеер:

    AVURLAsset *avasset = [[AVURLAsset alloc] initWithURL:URL1 options:nil];

    AVPlayerItem *item = [[AVPlayerItem alloc] initWithAsset:avasset];
    player = [[[AVPlayer alloc] initWithPlayerItem:item]retain];

    playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
    CGSize size = self.view.bounds.size;
    float x = size.width/2.0-187.0;
    float y = size.height/2.0 - 125.0;

    playerLayer.frame = CGRectMake(x, y, 474, 320);
    [playerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
    [self.view.layer addSublayer:playerLayer];
    [player play];

person user3231429    schedule 12.03.2014    source источник


Ответы (2)


Вам нужно будет предоставить свои собственные кнопки.

Для play и pause в AVPlayer есть прямые API.

Для полноэкранного режима… ну… вы знаете, где вы рисуете: вам просто нужно изменить размер вашего UIWindow и соответствующего UIView и слоя, чтобы они были полноразмерными.

Для поиска у вас есть такие методы, как seekToTime:

person Michael Dautermann    schedule 12.03.2014

Для справки в будущем iOS 8 AVKit имеет доступный класс AVPlayerViewController, который будет обертывать AVPlayer и имеет стандартные элементы управления класса MPMoviePlayerController.

AVPlayerViewController

AVPlayerViewController * filePlayerViewController = [AVPlayerViewController alloc];
//Show the controls
filePlayerViewController.showsPlaybackControls = true;
AVPlayer * filePlayer = [AVPlayer playerWithURL:[NSURL fileURLWithPath:self.videoFile.localURL]];
filePlayerViewController.player = self.filePlayer;
person Cody Lohse    schedule 10.07.2015