我想使用 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 方法里面。你知道这个错误的原因是什么吗?
谢谢