AVPlayer视频重力定位?

时间:2014-04-14 02:18:09

标签: ios iphone objective-c cocoa-touch avplayer

在我的应用程序中,我使用AVPlayer创建了一个自定义视频播放器。这很好用,没有问题。但是,我允许通过双击更改AVPlayer视频重力。

当它更改为AVPlayerGravityResizeAspect时,视频将居中于中间位置。有没有办法让视频保持相同的大小(调整大小,不调整方面填充),但将其移到AVPlayer的底部或顶部?

- (IBAction)zoomTapped:(id)sender {
    if (self.player.status == AVPlayerStatusReadyToPlay) {
        if ([((AVPlayerLayer *)[self.playerView layer]).videoGravity isEqualToString : AVLayerVideoGravityResizeAspect]) {
            [self.zoomButton setImage:[UIImage imageNamed:@"zoom-out.png"] forState:UIControlStateNormal];
            ((AVPlayerLayer *)[self.playerView layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
        }
        else {
            [self.zoomButton setImage:[UIImage imageNamed:@"zoom-in.png"] forState:UIControlStateNormal];
            ((AVPlayerLayer *)[self.playerView layer]).videoGravity = AVLayerVideoGravityResizeAspect;

            ((AVPlayerLayer *)[self.playerView layer]).bounds = ((AVPlayerLayer *)[self.playerView layer]).bounds;
        }
    }
}

1 个答案:

答案 0 :(得分:3)

不,那不是你的选择之一。您获得的三种重力选择是您获得的三种重力选择。但是,不需要这样的功能,因为你可以将播放器层本身放在任何你喜欢的位置,这样你就可以将 it 放在底部或顶部。一些观点或层。