我想使用AVCaptureSession从相机拍摄一张图片。
它可以正常工作,我启动了相机并可以得到输出。然而,在旋转设备时,视频方向存在一些问题。
首先,我想支持左右横屏和可能后续的竖屏模式。
我实现了:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation{
return UIInterfaceOrientationIsLandscapse(interfaceOrientation);
}
当我旋转设备时,它将应用程序从左侧横向旋转到右侧横向或者相反,但只有当我处于左侧横向时才可以正确地查看相机。当应用程序处于右侧横向时,视频会旋转180度。
非常感谢。
更新:
我尝试了Spectravideo328的答案,但当我尝试旋转设备时出现错误并且应用程序崩溃。这是错误:
[AVCaptureVideoPreviewLayer connection]: unrecognized selector sent to instance 0xf678210
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVCaptureVideoPreviewLayer connection]: unrecognized selector sent to instance 0xf678210'
错误发生在这一行:
AVCaptureConnection *previewLayerConnection=self.previewLayer.connection;
我将其放在 shouldAutorotateToInterfaceOrientation 方法中。你知道这个错误的原因吗?谢谢。