AVCaptureDeviceInputのdeviceプロパティはreadonlyと書かれていたため、てっきりFlashの設定ができないと思っていたが、どうやら可能なようだ。
ずばり下のように動的に制御することができる。
NSError *error;
AVCaptureDeviceInput *backFacingCameraDeviceInput;
if([backFacingCameraDeviceInput.device lockForConfiguration:&error]){
//Flashがついている場合
if(backFacingCameraDeviceInput.device.flashActive){
backFacingCameraDeviceInput.device.flashMode = AVCaptureFlashModeOff;
//Flashがついていない場合
}else{
backFacingCameraDeviceInput.device.flashMode = AVCaptureFlashModeOn;
}
[backFacingCameraDeviceInput.device unlockForConfiguration];
//エラーが発生した場合
}else{
}上のプログラムは、FlashモードがOnになっている場合はOffにし、逆にOnの場合はOffにするというプログラムです。今後は、このソースをコピペする形で使っていきたいと思う。
0 コメント:
コメントを投稿