我在录制过程中遇到视频方向问题。
我正在使用AVCaptureMovieFileOutput
使用AVFoundation
录制视频。
在开始录制之前,使用AVCaptureConnection setVideoOrientation
方法设置视频方向没有问题。
但是,如果视频录制已在运行,则更改AVCaptureConnection
VideoOrientation
不会更改正在写入的文件的实际方向。
这是一个已知的限制,还是我做错了什么?
答案 0 :(得分:0)
只是一个疯狂的想法,但你能暂停录音并改变方向吗?或者可能会停止并立即重启?改变停止/启动过程中的方向?我在这上面找到的问题和答案告诉我,你不能在飞行途中做出这种改变。
https://developer.apple.com/library/ios/qa/qa1744/_index.html
那里说有一个有趣的纳米笔记在这里进行中途飞行变化...
读下来,你会发现......
在设备之间切换 有时您可能希望允许用户在输入设备之间切换 - 例如,从使用前置摄像头切换到后置摄像头。为了避免暂停或口吃,您可以在会话运行时重新配置会话,但是您应该使用beginConfiguration和commitConfiguration来配置您的配置更改:
AVCaptureSession *session = <#A capture session#>;
[session beginConfiguration];
[session removeInput:frontFacingCameraDeviceInput];
[session addInput:backFacingCameraDeviceInput];
[session commitConfiguration];
当调用最外面的commitConfiguration时,所有更改将一起进行。这确保了平稳过渡。所以[session beginConfiguration]改变你的AVCaptureConnection VideoOrientation如果可以和[session commitConfiguration]。如果有效,请告诉我们!