ios - 录制期间的 AVCaptureConnection setVideoOrientation

标签 ios avfoundation

我在录制过程中遇到视频方向问题。

我正在使用 AVCaptureMovieFileOutput 使用 AVFoundation 录制视频。 在开始录制之前,我可以使用 AVCaptureConnection setVideoOrientation 方法设置视频方向。

但是,如果视频录制已经在运行,则更改 AVCaptureConnection VideoOrientation 不会更改正在写入的文件的实际方向。

这是一个已知的限制,还是我做错了什么?

最佳答案

只是一个疯狂的想法,但你能暂停录音并改变方向吗?或者也许停止它并立即重新启动?更改停止/启动过程中的方向?我在这个问题上找到的问题和答案告诉我你不能在飞行途中做出这个改变..

https://developer.apple.com/library/ios/qa/qa1744/_index.html

也就是说,这里有一个关于在飞行途中进行更改的有趣的 nano note ...

https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html

往下读,你会发现...

在设备之间切换 有时您可能希望允许用户在输入设备之间切换——例如,从使用前置摄像头切换到使用后置摄像头。为避免暂停或卡顿,您可以在 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/

相关文章:

ios - 处理慢动作视频效果 iOS

ios - 如何将数组中的元素与indexPath.item进行比较?

ios - 如何创建像照片应用程序一样的延时视频?

ios - uipickerview的格式化对齐

ios - 我想在应用程序找到用户位置时收到信号。

cocoa-touch - 如何让AVPlayer播放多个项目?

ios - 我可以在 iphone 12 上获得 PHAsset/PHAsset is hdr video/dolby vision 吗?

ios - Camera.app 使用什么 AVCaptureDevice?

iphone - 同时记录覆盖 AVFoundation iOS

iphone - 将文档同步到 iCloud