2017-03-14 1 views
1

誰かがAVPlayerを使用してビデオフレームに角を設定する方法を知っていますか?ラウンドコーナーを設定する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に設定することはできません。

答えて

3

私はちょうどこれを行うことができました。変更は、丸いコーナーから丸みを帯びたコーナーまでアニメーション化することさえできます。

私はあなたとはまったく異なる何もしませんでした。現時点ではiOS 10を使用しています。 (9.3.5デバイスもiOSの上で作業を確認した。)

 self.viewVideo?.layer.masksToBounds = SHOW ? true : false 
     self.viewVideo?.layer.cornerRadius = SHOW ? 10 : 0 

私は多分viewVideoはUIViewのサブクラスであることに注意してください。唯一の真の変化はlayerClassがそうところで、私はAVPlayerViewControllerなどを使用していない、私はちょうど私のいつものUIViewControllerのビューへのUIViewの私のサブクラスを追加AVPlayerLayer.self

override static var layerClass: AnyClass { 
    return AVPlayerLayer.self 
} 

として返されるがあります。

関連する問題