【发布时间】:2015-01-17 22:10:18
【问题描述】:
我正在尝试使用 AVCaptureSession 制作自定义相机。 代码和一切工作正常。唯一的问题是 VideoOutput 层被缩放。这使我的图片默认缩放。
我尝试了所有方法,但无法找到解决方案。这是正在使用的代码的一小段:
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[captureVideoPreviewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
编辑 我改变了 AVLayerVideoGravityResizeAspectFill 到 AVLayerVideoGravityResizeAspect,这稍微纠正了输出,但视频没有出现在整个屏幕上。 请看屏幕截图
为什么它显示空白(我设置它的视图)?为什么它也没有涵盖那部分?有什么遗漏吗?
【问题讨论】:
-
实际上
AVLayerVideoGravityResizeAspectFill导致您的视频帧在保持图层纵横比的情况下填充高度和宽度。因此,在这种情况下,您可能想尝试AVLayerVideoGravityResizeAspect作为视频重力。 -
@AdilSoomro 我试过了。但这让屏幕很尴尬。
-
@AdilSoomro 我在答案中做了一些更改,请您检查一下,谢谢
-
你能粘贴完整的代码吗?您如何设置框架并将其添加到视图中?
-
@AdilSoomro 再次感谢您的回复。这是我的 .m 文件dpaste.com/3FMJJ4H 的全部代码
标签: ios avcapturesession avcapturedevice