AVCapture теряет способность устанавливать фокус при использовании ZBar SDK - PullRequest
4 голосов
/ 08 марта 2012

Это ставило меня в тупик в течение нескольких дней ...

В моем приложении я использую AVCapture, чтобы сделать фотографию, затем я использую ZBar SDK для сканирования штрих-кода.Проблема в том, что после загрузки ZBar после съемки я теряю возможность автоматической фокусировки при съемке другого изображения.Если я сначала загружаю ZBar, то я могу настроить фокус при съемке, но ZBar теряет способность фокусироваться!Я попытался заменить ZBar на SDK сканера кода ShopSavvy, и я столкнулся с той же проблемой ...

Вот код, который я использую, чтобы настроить камеру на включение автофокуса, но ошибки не возникает, и яне могу сфокусироваться!

AVCaptureDevice *device = [[self videoInput] device];
if ([device isFocusPointOfInterestSupported] && [device isFocusModeSupported:AVCaptureFocusModeContinuousAutoFocus]) {
    NSError *error;
    if ([device lockForConfiguration:&error]) {
        [device setFocusPointOfInterest:point];
        [device setFocusMode:AVCaptureFocusModeContinuousAutoFocus];
        [device unlockForConfiguration];
    } else {
        if ([[self delegate] respondsToSelector:@selector(captureManager:didFailWithError:)]) {
            [[self delegate] captureManager:self didFailWithError:error];
        }
    }
}

1 Ответ

2 голосов
/ 08 марта 2012

Оказывается, вам нужно отменить каждую сессию захвата перед загрузкой новой. В этом случае я не выпускал сеанс захвата до загрузки ZBar, и я не выпускал ZBar до загрузки сеанса захвата.

...