4

これは何日も私を困惑させてきました...

私のアプリでは、AVCapture を使用して写真を撮り、ZBar SDK を使用してバーコードをスキャンしています。問題は、写真を撮った後に ZBar をロードすると、別の写真を撮るときにオート フォーカスの機能が失われることです。最初に ZBar をロードすると、写真を撮るときに焦点を調整できますが、ZBar は焦点を合わせる能力を失います! ZBar を ShopSavvy コード スキャナー SDK に交換しようとしたところ、同じ問題が発生しました...

これは、オートフォーカスをオンにするようにカメラを設定するために使用しているコードですが、エラーは発生しておらず、焦点を合わせることができません!

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];
        }
    }
}
4

1 に答える 1

2

新しいキャプチャ セッションをロードする前に、各キャプチャ セッションを解放する必要があることがわかりました。この場合、ZBar をロードする前にキャプチャ セッションを解放しておらず、キャプチャ セッションをロードする前に ZBar を解放していませんでした。

于 2012-03-08T12:48:55.570 に答える