2014-11-25 6 views
0

Я использую Apple AVCam source code, чтобы создать пользовательскую камеру, я пытаюсь включить/выключить вспышку, но не работает. Вот мой код, не уверен, что случилось. Я новичок в AVCam.Включить/выключить вспышку с AVCam

- (void) toggleFlash:(id)sender { 
    dispatch_async([self sessionQueue], ^{ 
     AVCaptureDevice *currentVideoDevice = [[self videoDeviceInput] device]; 
     AVCaptureDevicePosition currentPosition = [currentVideoDevice position]; 
     if(currentPosition == AVCaptureDevicePositionUnspecified || currentPosition == AVCaptureDevicePositionBack) { 
      if([currentVideoDevice hasFlash]) { 
       [currentVideoDevice lockForConfiguration:nil]; 
       [currentVideoDevice setFlashMode:AVCaptureFlashModeOn]; 
       [currentVideoDevice unlockForConfiguration]; 
      } 
     } 
    }); 
} 

Его проходят через каждую строку в коде и не записывают никаких ошибок из этого, но все равно не повезло.

ответ

0
- (void) toggleFlash { 
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
    if ([device hasTorch] && [device hasFlash]){ 
     [device lockForConfiguration:nil]; 
     [device setTorchMode:!device.torchActive]; 
     [device setFlashMode:!device.torchActive]; 
     [device unlockForConfiguration]; 
    } 
} 

P.S. В моем случае, факел/вспышка выключена изначально.

Смежные вопросы