2

当我尝试从使用前置摄像头切换到使用后置摄像头同时通过 AVCaptureVideoDataOutput:setSampleBufferDelegate 选择器处理单个帧时,我遇到了一个有趣的问题。相机交换工作正常,我显示的预览屏幕看起来很棒,只是我捕获的结果帧不再处于纵向模式,而是处于横向模式。此外,从前置摄像头切换到后置摄像头将导致后置摄像头捕捉风景帧。我怀疑既然是这种情况,当我换掉输入时,事情就会搞砸了——不是输入不正确。我通过使用前置摄像头启动 AVCaptureSession 来验证这一理论——传递给缓冲区代理的帧正确地处于纵向模式。一世'

我从 AVCam 演示中抄袭了灵感。该代码与我的代码之间的可疑区别在于它记录到 AVCaptureMovieFileOutput - 它不处理单个帧。

有任何想法吗?当我换出设备输入时,为什么发送到我的处理器的帧的方向会改变?

感谢您的任何回复!

4

1 回答 1

0

啊哈!我想到了。出于某种原因,在切换设备输入后,我的视频输出的 AVCaptureConnection 将其方向重置为横向。为了解决这个问题,在我交换输入后,我明确要求视频输出的 AVCaptureConnection 将其方向设置为纵向。

于 2012-03-13T06:29:50.530 回答