新年あけて初めての記事になりますが依然として、プログラミングメモな状態です。
そんなわけで、iPhoneのカメラデバイスのフラッシュの制御です。
どこかに、
BOOL flashMode = FALSE;
なんてフラグを用意しつつ。
if ( flashMode == TRUE ) {
pickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
flashMode = FALSE;
}
else {
pickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
flashMode = TRUE;
}
こう書いたのですが、全然、反応がありません。
んで、代わりにこういうふうに書くと反応します。
#import
AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[device lockForConfiguration:nil];
if ( flashMode == TRUE ) {
[device setTorchMode:AVCaptureFlashModeOff];
flashMode = FALSE;
}
else {
[device setTorchMode:AVCaptureFlashModeOn];
flashMode = TRUE;
}
[device unlockForConfiguration];
という感じです。これでフラッシュのオン・オフできるアプリがすぐ作れちゃうわけですね。
わーぉ!