iPhoneアプリ アプリ開発

[iPhone] フラッシュの制御

新年あけて初めての記事になりますが依然として、プログラミングメモな状態です。

そんなわけで、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];

という感じです。これでフラッシュのオン・オフできるアプリがすぐ作れちゃうわけですね。

 

わーぉ!

 

-iPhoneアプリ, アプリ開発

Copyright© LAPTURE , 2020 All Rights Reserved.