为什么`AVCaptureDevice`的行为不同,如果这个点是extactly(0.5,0.5)?

时间:2016-03-28 07:04:47

标签: ios iphone video camera video-capture

我们使用以下代码设置AVCaptureDevice的曝光点。它大部分时间都很好用。

但如果点xy都是0.5,则此值接缝将重置配置,并且曝光行为会有所不同。目前,我们通过检测参数来解决此问题,如果是0.5,我们会针对此情况传递0.501而不是0.5

我们不知道为什么会这样吗?那么关于那个的任何文件?

314         if([device lockForConfiguration:&err]) {
315             [device setExposurePointOfInterest:CGPointMake(x, y)];
316             device.exposureMode = device.exposureMode;
317             [device unlockForConfiguration];
318         }

1 个答案:

答案 0 :(得分:0)

我猜您所看到的是默认行为检查AVFoundation Programming Guide - >寻找曝光模式

  

如果更改曝光设置,可以将它们还原为   默认配置如下:

if ([currentDevice isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure]){`
    `CGPoint exposurePoint = CGPointMake(0.5f, 0.5f);`
    `[currentDevice setExposurePointOfInterest:exposurePoint];`
    `[currentDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];`
}