当前位置:  开发笔记 > 编程语言 > 正文

AVPreviewLayer的内容重力未填充图层

如何解决《AVPreviewLayer的内容重力未填充图层》经验,为你挑选了1个好方法。

我正在使用AVFoundation进行一些视频录制,并且到处都在寻找如何将视频进行纵横比填充。我已经阅读了苹果的AVFoundation指南和AVCaptureVideoPreviewLayer的类Referene。我在这里还阅读了此问题,AVFoundation相机预览层无法正常工作。这是我的代码

        videoPreviewLayer.frame = captureView.frame
        videoPreviewLayer.frame.origin = CGPoint(x: 0, y: 0)
        videoPreviewLayer.backgroundColor = UIColor.redColor().CGColor
        videoPreviewLayer.contentsGravity = AVLayerVideoGravityResizeAspectFill
        videoPreviewLayer.masksToBounds = true
        captureView.layer.addSublayer(videoPreviewLayer)

我把它放进去,viewDidLayoutSubviews()以便可以为captureView.frame获得正确的大小,这是UIView我的PreviewLayer所在的大小。任何提示为何AspectFill无法正常工作?从红色背景可以看出,该图层的大小正确,但是contentsGravity并未填充该图层。



1> NSGangster..:

在此链接AVCaptureVideoPreviewLayer中找到了我的答案。我需要用videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill代替videoPreviewLayer.contentsGravity = AVLayerVideoGravityResizeAspectFill

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有