我们使用以下代码设置AVCaptureDevice
的曝光点。它大部分时间都很好用。
但如果点x
和y
都是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 }
答案 0 :(得分:0)
我猜您所看到的是默认行为检查AVFoundation Programming Guide - >寻找曝光模式
如果更改曝光设置,可以将它们还原为 默认配置如下:
if ([currentDevice isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure]){` `CGPoint exposurePoint = CGPointMake(0.5f, 0.5f);` `[currentDevice setExposurePointOfInterest:exposurePoint];` `[currentDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];` }