2012-07-31 4 views
1

노출 점을 사용하여 노출을 고정하려고하지만 장치에서 시도했을 때 작동하지 않는 것 같습니다. 카메라 앱을 길게 눌러 화면을 탭하여 노출과 초점을 잠글 때도 작동하지만 다음 코드 행을 사용하여 내 앱에서 시도 할 때 작동하지 않습니다. 구성에서 뭔가를 놓쳤습니까?카메라 캡처 장치 노출 모드 잠금

if ([_captureInput.device isExposureModeSupported:AVCaptureExposureModeLocked] && [_captureInput.device lockForConfiguration:NULL] && [_captureInput.device isExposurePointOfInterestSupported]) 
{ 
[_captureInput.device setExposurePointOfInterest:pointOfInterest]; 
[_captureInput.device setExposureMode:AVCaptureExposureModeLocked]; 
[_captureInput.device unlockForConfiguration]; 
} 

답변

1

당신이 플래시 모드, 예를 들면 이런 식이다 변경한다면 구성을 고정하는 방법의 예 :

AVCaptureDevice *temp = [[[[self captureSession] inputs] lastObject] device]; 

if ([temp isFlashModeSupported:AVCaptureFlashModeOn]) { 
     NSError *error; 
     bool locked = [temp lockForConfiguration:&error]; 
     if (locked) { 
      switch (self.flashMode.intValue) { 
       case 0: // Off 
        [temp setFlashMode:AVCaptureFlashModeOff]; 
        break; 
       case 1: // On 
        [temp setFlashMode:AVCaptureFlashModeOn]; 
        break; 
       case 2: // Auto 
        [temp setFlashMode:AVCaptureFlashModeAuto]; 
        break; 

       default: 
        break; 
      } 
     } else { 
      NSLog(@"Could not lock for configuration"); 
     } 

    } 

편집 : (하지만 작동합니다) 이건 그냥 예입니다, 당신이 볼 수 있듯이 나는 그것이 이상한 방법으로 캡처 장치를 얻을 수 있기 때문에 당신이 그것을 저장했거나 다른 방식으로 처리했다면 작동하지 않을 것입니다.

+0

감사합니다. 사실 저는 그것을 성화와 플래시로 시도해 보았습니다. 나는 오랫동안 화면을 탭하고 자동 초점/자동 노출을 고정시킬 때 밝기/대비가 변경된다는 카메라 응용 프로그램과 마찬가지로 노출이 작동하지 않는지 궁금합니다. –

+0

if에서 3 가지 조건을 테스트하고 있습니다. 플래그를 사용하여 별도로 시도하고 실패했는지 확인하십시오. 또한 NSLOG는 오류 매개 변수를 잠그면 왜 잠겨 있지 않은지 알 수 있습니다. 잠겨 있지 않은 경우 문제가 발생합니다. 이미 잠겨 있거나 잠겨 있다면 잠글 수없는 것처럼 기억합니다. – Pochi

+0

나는 또한 NSLog를 사용하여이 작업을 시도했으며 로그와 함께 장치가 관심있는 노출 지점으로 잠겨 있음을 보여줍니다. 이상한 것은 배경 조명이 변경되었을 때 노출이 변경되어 실제로 잠겨 있지 않다는 것을 의미합니다. 그리고 관심 지점에 대한 탭 영역을 변경하면 미리보기 화면에서 아무런 반응이 없습니다. –