任何人都知道如何使用AVPlayer将圆角设置到视频帧? 我正在尝试这样做:
- (void)loadVideoWithPlayer:(AVPlayer*)playerVideo
{
dispatch_async(dispatch_get_main_queue(), ^{
AVPlayerLayer *avLayer = [AVPlayerLayer playerLayerWithPlayer: playerVideo];
[avLayer setCornerRadius:20];
[avLayer setMasksToBounds:YES];
[self.playerViewController setPlayer:playerVideo];
[self insertSubview:self.playerViewController.view belowSubview:self.interactView];
[self.playerViewController.player play];
});
}
但它不起作用。我无法为AVPlayer.playerViewController.view
设置圆角,因为视频帧可能不同。
答案 0 :(得分:3)
我能做到这一点。这种变化甚至可以是动画的,从没有圆角到圆角。
我没有做任何与你不同的事情。目前使用iOS 10。 (已确认在iOS 9.3.5设备上工作。)
self.viewVideo?.layer.masksToBounds = SHOW ? true : false
self.viewVideo?.layer.cornerRadius = SHOW ? 10 : 0
我或许应该注意到viewVideo是UIView的子类。唯一真正的变化是将layerClass作为AVPlayerLayer.self
返回override static var layerClass: AnyClass {
return AVPlayerLayer.self
}
所以顺便说一句我不使用AVPlayerViewController等。我只是将我的UIView子类添加到我常用的UIViewController视图中。