【发布时间】:2011-11-03 09:29:20
【问题描述】:
我创建了一个应用程序,它捕获实时视频流,使用 OpenGL ES 对视频流进行一些处理,并将其显示在 UIView 的屏幕上
基本上数据流是: AVCaptureSession -> AVCaptureDeviceInput -> AVCaptureVideoDataOutput -> gl buffers -> 绘制到 UIView
我没有使用 AVCaptureVideoPreviewLayer 来显示内容。
当我使用此系统纵向显示视频时,它按预期工作,视频与显示器的方向相同。
但是,我的应用旨在横向使用。在 superview 的 shouldAutorotateToInterfaceOrientation 方法中,我只允许 UIInterfaceOrientationLandscapeLeft 和 UIInterfaceOrientationLandscapeRight。
我的问题是视频流被旋转了。手机横向,视频流旋转90度。我希望视频流具有相同的方向。
我不明白为什么视频流会旋转,我猜它试图补偿横向模式,但我不知道如何防止这种旋转。有什么想法吗?
谢谢
迈克
感谢文斯伯恩的回复。
最终我尝试了this post中的方法
并确定 willRotateToInterfaceOrientation:duration 的示例代码
【问题讨论】: