奥林巴斯相机套件:之后不能更新曝光补偿值

时间:2015-08-10 06:01:11

标签: ios swift olympus-air olympus-camerakit

我有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 个答案:

答案 0 :(得分:2)

相机访问存储卡时无法更改任何相机属性。在更新相机属性之前,请检查mediaBusy是否为false。

尝试在最后semaphore_wait()之后插入以下代码。

while camera.mediaBusy {
    NSThread.sleepForTimeInterval(0.2)
}