【发布时间】:2016-08-30 13:55:08
【问题描述】:
我正在开发应用程序,它支持 静止图像 和 视频 捕获 AVFoundation。捕获它们需要不同的AVCaptureSession 预设。我检查canSetSessionPreset(),以beginConfiguration() 开始更改,以sessionPreset 设置所需的预设并以commitConfiguration() 结束。
我发现如果我在更改预设后使用AVCaptureStillImageOutput立即捕获静止图像,它不会返回任何错误,但生成的图像有时是黑色或非常暗的。
如果我在更改预设后立即开始使用AVCaptureMovieFileOutput 拍摄视频,则生成的文件中的前几帧有时也会变黑或很暗。
更改预设后,屏幕闪烁可能是由于相机调整曝光所致。所以看起来在更改预设相机后立即开始从非常快的快门速度测量曝光,这会导致黑/暗帧。
如果我在更改预设和开始捕捉之间插入 0.1 秒的延迟,这两个问题都会消失,但这很丑陋,没有人能保证它在所有设备上始终有效。
这个问题有干净的解决方案吗?
【问题讨论】:
-
你找到解决方案了吗?
-
@UserDev 除了 0.1 秒延迟之外,我没有找到更好的解决方案
-
Instagram 在其主摄像头上存在同样的问题(如果我们立即将视频切换到照片模式并单击照片),但在故事摄像头(也在 facebook 中)上,它非常流畅地捕捉图像和视频。他们如何在故事相机上维护它?有什么想法吗?
标签: ios avfoundation avcapturesession