2012-03-08 63 views
4

這已被絆倒我好幾天了...AVCapture使用zbar和SDK

在我的應用我使用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]; 
     } 
    } 
} 

回答

2

原來你需要裝載了一個新的前釋放每個捕獲會話。在這種情況下,我在加載ZBar之前沒有發佈捕獲會話,並且在加載捕獲會話之前我沒有發佈ZBar。

+0

我遇到了類似的問題,想知道你是如何發佈AVCaptureSession?典型的方法似乎沒有做到這一點。 – mwright 2012-12-01 22:02:16