我在设置自定义曝光时间方面遇到问题。
根据{{3}},设置曝光时间的唯一方法是使用方法setExposureModeCustomWithDuration:ISO:completionHandler:
。但是当我设置任何高于0.07的值并且拍摄图像时,曝光时间的值为0.06666666666666667,尽管AVCaptureDevice
的maxExposureDuration属性返回最大值可以是0.5秒。
曝光时间是否会与其他相机属性发生冲突? 或者我做错了什么?
代码:
@try
{
NSError* error;
[self.captureDevice lockForConfiguration:&error];
if (!error)
{
// Setup of other properties
if ([self.captureDevice isExposureModeSupported:selectedExposureMode])
{
if (selectedExposureMode == AVCaptureExposureModeCustom) {
[self.captureDevice setExposureModeCustomWithDuration:exposureTimeValue ISO:isoValue completionHandler:^(CMTime syncTime) {}];
}
}
}
}
@catch (NSException *exception)
{
NSLog(@"%@",exception);
}
@finally
{
[self.captureDevice unlockForConfiguration];
}
答案 0 :(得分:1)
我测试曝光持续时间= 0.5,这是有效的,我在更改持续时间之前做了 setExposureMode 。
[self.captureDevice setExposureMode:AVCaptureExposureModeCustom];
[self.captureDevicesetExposureModeCustomWithDuration:CMTimeMake( 1, 2 ) ISO:iso completionHandler:^(CMTime syncTime) {}];
答案 1 :(得分:0)
我发现了什么问题。如果你想更改曝光模式(Locked,ContinuousAutoExposure,Custom),你需要重置所有相机设置,会话,预览图层,静止图像输出,基本上是第一次设置相机。