Ios 如何使用AVCaptureSession实现类似苹果的摄像头应用程序?

Ios 如何使用AVCaptureSession实现类似苹果的摄像头应用程序?,ios,swift,avcapturesession,Ios,Swift,Avcapturesession,在iOS(9)摄像头应用程序中,控件覆盖不会旋转,但当选择“录制”时,视频将以正确的方向输出。有人知道苹果是如何实现这一点的吗。你有几个不同的选择来实现同样的效果: 您可以旋转相机,但当设备本身旋转以使其匹配UIDevice.currentDevice().orientation时,用户界面保持不变 您可以在捕获时存储设备方向,然后旋转视频 您甚至可以将捕获会话的捕获连接设置为与设备方向相匹配,同时保持预览连接不变 我使用两个不同的UIWindow实例实现了您想要的功能,一个用于视频预览层,另一

在iOS(9)摄像头应用程序中,控件覆盖不会旋转,但当选择“录制”时,视频将以正确的方向输出。有人知道苹果是如何实现这一点的吗。

你有几个不同的选择来实现同样的效果:

您可以旋转相机,但当设备本身旋转以使其匹配
UIDevice.currentDevice().orientation
时,用户界面保持不变

您可以在捕获时存储设备方向,然后旋转视频


您甚至可以将捕获会话的捕获连接设置为与设备方向相匹配,同时保持预览连接不变

我使用两个不同的UIWindow实例实现了您想要的功能,一个用于视频预览层,另一个用于显示在其上的UI。带有UI的UI窗口需要有一个透明的背景,以便预览层保持可见。

他们很可能使用通知来跟踪旋转,以检测旋转,然后
UIDevice.currentDevice().orientation
来获取设备的实际旋转。然后使用此选项,他们只旋转相机以匹配设备的方向。这是在将应用程序本身限制为一个方向(在本例中为纵向)的同时完成的。尽管如此,你仍然会看到一个笨重的动画,因为相机应用程序看起来根本没有旋转。感谢您的回复。您可以将转换的动画持续时间设置为0。您甚至可以设置捕获会话的捕获方向以匹配设备,同时保持预览方向不变。我不知道我们可以进入那片土地?