我在想知道为什么 AVCaptureVideoPreviewLayer 缩短了相机的角度时遇到了一些问题。我的意思是相机比默认相机或 UIImagePickerController 相机具有更多的缩放。我测试了 AVCaptureVideoPreviewLayer,它看起来就像在默认相机应用上使用视频选项时一样放大了。
我有可能收回额外的变焦吗?我想要相机广角而不是视频变焦。我正在使用叠加层,这就是我使用此选项的原因。
我在想知道为什么 AVCaptureVideoPreviewLayer 缩短了相机的角度时遇到了一些问题。我的意思是相机比默认相机或 UIImagePickerController 相机具有更多的缩放。我测试了 AVCaptureVideoPreviewLayer,它看起来就像在默认相机应用上使用视频选项时一样放大了。
我有可能收回额外的变焦吗?我想要相机广角而不是视频变焦。我正在使用叠加层,这就是我使用此选项的原因。
您可以尝试修改几个属性来解决这个问题。我尝试的第一个也是最有可能的一个是 AVCaptureSession 上的 sessionPreset 属性。您可能想尝试一下AVCaptureSessionPresetPhoto
,但还有更多选项,可以在文档中找到
[session setSessionPreset:AVCaptureSessionPresetPhoto];
这与视频预设的不同之处在于它不会缩短捕捉角度,而所有视频预设都会缩放和裁剪输入。
除此之外,您可能需要调整预览层本身的 contentGravity 属性。
[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];
但它只有三个选项,AVLayerVideoGravityResize
,AVLayerVideoGravityResizeAspect
, 和AVLayerVideoGravityResizeAspectFill
。