iOS - 在设备处于纵向模式时以横向方式捕获视频

Eya*_*yal 5 avfoundation ios avcapturesession landscape-portrait

在设备处于纵向模式时,是否可以在横向捕获视频?

这样的事情:
在此输入图像描述

实际上我需要的是以纵向捕捉,但宽度>高度,我不希望用户旋转设备,但我确实想要捕捉像横向模式更广泛的图片.

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

我尝试更改预览图层的视频方向,但这将旋转图片,这不是我想要的.

previewLayer.connection.videoOrientation = .landscapeRight  
Run Code Online (Sandbox Code Playgroud)

这有什么意义吗?

Tim*_*ull 0

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

但是,请记住,您将会降低质量。如果相机方向是纵向,那么您收到的是(为了论证)720H x 360W 的视频。

因此,如果您想要制作那种风景,如果保留纵横比,您最终会得到一个 180H x 360W 的视频(通过裁剪输入)。

请记住,相机看到的内容、发送到预览层的内容和记录到文件的内容之间存在差异 - 它们都可以彼此独立(您谈到了更改预览层框架,请记住,这与与您写出的视频一起做)。