2011-06-13 11 views
1

iphoneカメラで複数の写真を同じシーンからプログラム的に撮影しようとしていますが、ユーザーが設定した露出またはフォーカスを変更したくない最初の写真。ここ は使用が私のアプリの中から撮影を開始したときに実行されます私のコードです: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]; 

希望。

関連する問題