我在尝试了解AVCaptureVideoPreviewLayer缩短相机角度的原因时遇到了一些问题。我的意思是相机有更多的变焦,默认相机或UIImagePickerController相机。我测试了AVCaptureVideoPreviewLayer,它看起来像放大了,就像你在默认的相机应用程序上使用Video选项一样。
我可以收回额外的缩放吗?我希望相机广角而不是视频变焦。我正在使用叠加层,这就是我使用此选项的原因。
答案 0 :(得分:4)
您可以尝试修改几个属性来解决此问题。我尝试的第一个也是最有可能的是AVCaptureSession上的sessionPreset属性。您可能想尝试AVCaptureSessionPresetPhoto
,但还有更多选项,可在the docs
[session setSessionPreset:AVCaptureSessionPresetPhoto];
这与视频预设的不同之处在于它不会缩短捕捉角度,而所有视频预设都会缩放并裁剪输入。
除此之外,您可能希望调整预览图层本身的contentGravity属性。
[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];
它只有三个选项,AVLayerVideoGravityResize
,AVLayerVideoGravityResizeAspect
和AVLayerVideoGravityResizeAspectFill
。