我在录制过程中遇到视频方向问题。
我正在使用 AVCaptureMovieFileOutput
使用 AVFoundation
录制视频。
在开始录制之前,我可以使用 AVCaptureConnection setVideoOrientation
方法设置视频方向。
但是,如果视频录制已经在运行,则更改 AVCaptureConnection
VideoOrientation
不会更改正在写入的文件的实际方向。
这是一个已知的限制,还是我做错了什么?
最佳答案
只是一个疯狂的想法,但你能暂停录音并改变方向吗?或者也许停止它并立即重新启动?更改停止/启动过程中的方向?我在这个问题上找到的问题和答案告诉我你不能在飞行途中做出这个改变..
https://developer.apple.com/library/ios/qa/qa1744/_index.html
也就是说,这里有一个关于在飞行途中进行更改的有趣的 nano note ...
往下读,你会发现...
在设备之间切换 有时您可能希望允许用户在输入设备之间切换——例如,从使用前置摄像头切换到使用后置摄像头。为避免暂停或卡顿,您可以在 session 运行时重新配置它,但是您应该使用 beginConfiguration 和 commitConfiguration 来括起您的配置更改:
AVCaptureSession *session = <#A capture session#>;
[session beginConfiguration];
[session removeInput:frontFacingCameraDeviceInput];
[session addInput:backFacingCameraDeviceInput];
[session commitConfiguration];
当调用最外层的 commitConfiguration 时,所有更改都会一起进行。这确保了平稳过渡。所以 [session beginConfiguration] 如果可以的话改变你的 AVCaptureConnection VideoOrientation 和 [session commitConfiguration]。让我们知道它是否有效!
关于ios - 录制期间的 AVCaptureConnection setVideoOrientation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30985094/