2011-06-13 199 views
1

我嘗試從同一場景以編程方式拍攝多張照片,並且我不希望曝光或焦點在用戶將其設置爲第一張照片。 這裏是我的代碼時使用啓動畫面從我的應用程序中採取的是被執行:iphone攝像頭曝光/對焦鎖定:它不保持鎖定

 NSArray *devices = [AVCaptureDevice devices]; 
    NSError *error; 
    for (AVCaptureDevice *device in devices) { 
     if (([device hasMediaType:AVMediaTypeVideo]) && 
      ([device position] == AVCaptureDevicePositionBack)) { 
      [device lockForConfiguration:&error]; 
      if ([device isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeLocked]) { 
       device.whiteBalanceMode = AVCaptureWhiteBalanceModeLocked; 
       NSLog(@"Whitebalanced locked"); 
      } 
      if ([device isExposureModeSupported:AVCaptureExposureModeLocked]) { 
       device.exposureMode = AVCaptureExposureModeLocked; 
       NSLog(@"Exposure locked"); 
      } 

      if ([device isFocusModeSupported:AVCaptureFocusModeLocked]) { 
      device.focusMode = AVCaptureFocusModeLocked; 
      NSLog(@"Focus locked"); 
      } 

      [device unlockForConfiguration]; 
     } 
    } 

問題:照相機做拍攝第一張照片的自動對焦和自動曝光後。我如何強迫曝光和專注保持鎖定狀態?

任何幫助表示讚賞。

回答

3

我想你錯過了提交配置:

您的代碼投放之前:

captureSession = [[AVCaptureSession alloc] init]; 
[captureSession beginConfiguration]; 

後:

[captureSession commitConfiguration]; 

希望這有助於。