Olympus Camera Kit: Невозможно обновить значение компенсации экспозиции вскоре после
У меня есть приложение HDR, которое делает три снимка с различными настройками компенсации экспозиции, но я не могу изменить значение компенсации экспозиции вскоре после съемки. Есть ли ограничения по срокам обновления недвижимости?
for var i = 0 ; i < 3 ; i++ {
switch i {
case 0:
camera.setCameraPropertyValue("EXPREV", value: "<EXPREV/+2.0>", error: nil)
case 1:
camera.setCameraPropertyValue("EXPREV", value: "<EXPREV/0.0>", error: nil)
case 2:
camera.setCameraPropertyValue("EXPREV", value: "<EXPREV/-2.0>", error: nil)
default:
camera.setCameraPropertyValue("EXPREV", value: "<EXPREV/0.0>", error: nil)
}
camera.takePicture( nil,
progressHandler: nil,
completionHandler:{ info -> Void in dispatch_semaphore_signal(semaphore)},
errorHandler: {error -> Void in dispatch_semaphore_signal(semaphore)} )
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
}
1 ответ
Решение
Вы не можете изменить какое-либо свойство камеры, пока камера обращается к карте памяти. Пожалуйста, проверьте, если mediaBusy
false перед обновлением свойства камеры.
Попробуйте вставить код ниже после последнего semaphore_wait()
,
while camera.mediaBusy {
NSThread.sleepForTimeInterval(0.2)
}