У меня возникла проблема с настройкой пользовательской продолжительности экспозиции. Согласно Apple documentation, единственный способ установить продолжительность экспозиции - это метод setExposureModeCustomWithDuration:ISO:completionHandler:
. Но когда я устанавливаю любое значение выше 0,07, и изображение принимается, время экспозиции имеет значение 0.06666666666666667, хотя свойство maxExposureDuration значения AVCaptureDevice
возвращает максимальное значение может составлять 0,5 секунды.Камера iPhone не может установить длительную длительность экспозиции
Могут ли длительность экспозиции быть в столкновении с другими свойствами камеры? Или я делаю что-то неправильно?
Код:
@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];
}
Что такое isoValue? –
@BrandonA isoValue - это число с плавающей точкой между 'self.captureDevice.activeFormat.minISO' и' self.captureDevice.activeFormat.maxISO'. Значение «AVCaptureISOCurrent» может использоваться для указания того, что вызывающий абонент не желает указывать значение для ISO. –