当我尝试从使用前置摄像头切换到使用后置摄像头同时通过 AVCaptureVideoDataOutput:setSampleBufferDelegate 选择器处理单个帧时,我遇到了一个有趣的问题。相机交换工作正常,我显示的预览屏幕看起来很棒,只是我捕获的结果帧不再处于纵向模式,而是处于横向模式。此外,从前置摄像头切换到后置摄像头将导致后置摄像头捕捉风景帧。我怀疑既然是这种情况,当我换掉输入时,事情就会搞砸了——不是输入不正确。我通过使用前置摄像头启动 AVCaptureSession 来验证这一理论——传递给缓冲区代理的帧正确地处于纵向模式。一世'
我从 AVCam 演示中抄袭了灵感。该代码与我的代码之间的可疑区别在于它记录到 AVCaptureMovieFileOutput - 它不处理单个帧。
有任何想法吗?当我换出设备输入时,为什么发送到我的处理器的帧的方向会改变?
感谢您的任何回复!