2017-07-16 84 views
6

设备处于肖像模式时是否可以在横向捕获视频?iOS - 在设备处于肖像模式时捕捉横向视频

是这样的:
enter image description here

其实我需要的是在肖像但宽度>高度,我不希望用户旋转设备捕捉到,但我想捕捉像一个更广泛的图片在横向模式下。

只是将预览图层框架更改为宽(宽度>高度)当然不够。

我试着改变预览图层的视频方向,但是会旋转图片,那不是我想要的。

previewLayer.connection.videoOrientation = .landscapeRight 

是有意义的吗?

回答

0

您可以,您需要使用AVAssetWriter并设置输出视频的尺寸。

但是,请记住,您将降低质量。如果相机的方向是肖像,那么你接收到的是一个720H×360W的视频。

所以,如果你想保持高宽比,那么你最终需要一个180H x 360W的视频(通过裁剪输入)。

请记住,相机看到的内容,您发送到预览图层的内容以及您记录到文件的内容有所不同 - 它们都可以相互独立(您提到了更改预览图层框架,请记住这与您写出的视频无关)。

0

你有没有尝试过设置重力&界限的previewLayer?

var bounds:CGRect = self.view.layer.bounds 
previewLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill 
previewLayer?.bounds = bounds 
previewLayer?.position = CGPointMake(CGRectGetMidX(bounds), CGRectGetMidY(bounds)) 
2

没有它不可能,因为你必须物理旋转相机。

您可以将输出视频裁剪为任何您希望的宽高比。

但是,这会使您的垂直分辨率达到目前水平分辨率的最大值。

以及减少你的视野。

如果你还是想裁剪视频以模拟实时这个“小风景模式”我建议你使用“GPUImageCropFilter”从库GPUImage

相关问题