2011-12-08 3 views
1

내 앱에서 iPhone 플래시 표시 등을 사용해야합니다. 그러나 사용자가 플래시를 켤 때 카메라는 사진을 찍지 않습니다. 내가 어떻게 할 수 있니? 여기에 내 코드를 첨부했습니다. 그러나 플래시 라이트를 켜면 카메라가 사진을 찍습니다.iPhone 응용 프로그램에서 토치 라이트를 사용하는 방법?

AVCaptureDeviceInput *flashInput = [AVCaptureDeviceInput deviceInputWithDevice:device error: nil]; 
      AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init]; 

      AVCaptureSession *session = [[AVCaptureSession alloc] init]; 

      [session beginConfiguration]; 
      [device lockForConfiguration:nil]; 

      [device setTorchMode:AVCaptureTorchModeOn]; 
      [device setFlashMode:AVCaptureFlashModeOn]; 

      [session addInput:flashInput]; 
      [session addOutput:output]; 

      [device unlockForConfiguration]; 

      [output release]; 

      [session commitConfiguration]; 
      [session startRunning]; 

      [self setTorchSession:session]; 

어디에서 코딩이 잘못 되었습니까? 도와주세요. 미리 감사드립니다.

+0

가능한 중복 : //stackoverflow.com/questions/3190034/turn-on-torch-flash-on-iphone-4) –

답변

5

다음 세 가지 방법을 사용하는 응용 프로그램에서 토치 단추가 있습니다.

유일한 차이점은 플래시 모드도 설정한다는 것입니다. 또한 내 세션을 구성하고 온/오프 별도의 beginConfiguration에서이

0

확인이 ... 통과에 횃불을 켜

- (void)torchOnOff: (BOOL) onOff 
{ 
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
    if ([device hasTorch]) { 
     [device lockForConfiguration:nil]; 
     [device setTorchMode: onOff ? AVCaptureTorchModeOn : AVCaptureTorchModeOff]; 
     [device unlockForConfiguration]; 
    } 
} 
(HTTP [아이폰 4에 토치/플래시를 켜고]의
관련 문제