Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVCaptureSession在更改预设后捕获黑色/黑色帧_Ios_Avfoundation_Avcapturesession - Fatal编程技术网

Ios AVCaptureSession在更改预设后捕获黑色/黑色帧

Ios AVCaptureSession在更改预设后捕获黑色/黑色帧,ios,avfoundation,avcapturesession,Ios,Avfoundation,Avcapturesession,我正在开发一款应用程序,它支持使用AVFoundation拍摄静态图像和视频。捕获它们需要不同的AVCaptureSession预设。我检查canSetSessionPreset(),以beginConfiguration()开始更改,以sessionPreset设置所需预设,以commitConfiguration()结束 我发现,如果我在更改预设后立即使用AVCaptureStillImageOutput捕获静态图像,它不会返回任何错误,但生成的图像有时是黑色或非常暗的 如果在更改预设后立即

我正在开发一款应用程序,它支持使用AVFoundation拍摄静态图像和视频。捕获它们需要不同的
AVCaptureSession
预设。我检查
canSetSessionPreset()
,以
beginConfiguration()
开始更改,以
sessionPreset
设置所需预设,以
commitConfiguration()结束

我发现,如果我在更改预设后立即使用
AVCaptureStillImageOutput
捕获静态图像,它不会返回任何错误,但生成的图像有时是黑色或非常暗的

如果在更改预设后立即开始使用
AVCaptureMovieFileOutput
捕获视频,则生成的文件中的前几帧有时也是黑色或非常暗的

更改预设后,屏幕可能会闪烁,这可能是由于相机调整曝光。所以它看起来像是在改变预设相机后,立即从非常快的快门速度开始测量曝光,这会导致黑/暗帧

如果我在更改预设和开始捕获之间插入0.1秒的延迟,这两个问题都会消失,但这很难看,没有人能保证它在所有设备上都能一直工作


这个问题有一个干净的解决方案吗?

这是为未来的用户准备的


当我将
sessionPreset
设置为
high
时,这种情况发生在我身上,当我开始录制时,我对视频输出连接进行了更改,并设置了焦距,然后在设置相机时将其移动到该位置,效果很好

你找到解决方案了吗?@UserDev我还没有找到更好的解决方案,除了0.1秒延迟Instagram的主摄像头(如果我们立即将视频切换到照片模式并单击照片)存在相同的问题,但在故事摄像头(也在facebook上)上,它的图像和视频捕获非常平滑。他们是如何在故事摄影机上维护它的?有什么想法吗?