iPhone:通过SetSampleBufferDelegate处理单个框架时切换前/后退AVCaptureDeviceInputInmput摄像机

StackOverflow https://stackoverflow.com//questions/9662897

当我尝试通过avcapturevideodataOutput upptupe:setsamplebufferdelegate选择器时使用前置摄像机使用前置摄像机将从使用前置摄像机切换到使用后面相机时,遇到一个有趣的问题。相机交换工作和我显示的预览屏幕看起来很棒,只是我捕获的结果框架不再处于纵向模式,它们处于横向模式中。此外,从前面交换然后返回后背相机将导致后面相机捕获景观帧。我怀疑,因为当我交换输入时,这是这种情况,当我交换输入时,它不是输入不正确的输入。我通过使用前面的相机启动AVCaptession来验证了这个理论 - 通过纵向模式正确地传递给缓冲区委托的帧。我还在显式停止avcaptessions,而在设备输入被交换时没有结果没有差异。

我从AVCAM演示中瘫痪了灵感。该代码和矿的可疑差异是它记录到AvcaptureMoviewileOutput - 它不是处理单个帧。

任何想法?为什么当我交换设备输入时,将发送到我的处理器的帧的方向会发生变化?

感谢任何响应!

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top