2011-12-08 8 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

[iPhone 4上のトーチ/フラッシュをオンにする]の可能重複ます(http: //stackoverflow.com/questions/3190034/turn-on-torch-flash-on-iphone-4) –

答えて

5

私は、以下の3つの方法を使用する私のアプリにトーチボタンを持っています。

私のコードとの違いは、フラッシュモードを設定していることだけです。また、私は私のセッションを設定して、別々のbeginConfigurationパスでオン/オフトーチをオン

0

チェックこの...

- (void)torchOnOff: (BOOL) onOff 
{ 
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
    if ([device hasTorch]) { 
     [device lockForConfiguration:nil]; 
     [device setTorchMode: onOff ? AVCaptureTorchModeOn : AVCaptureTorchModeOff]; 
     [device unlockForConfiguration]; 
    } 
} 
関連する問題