HOME > アプリ開発 > [iOS7]LEDライトを制御する方法
iOS7端末でLEDランプを点灯させるための方法を紹介します。
AVFaundation.frameworkのAVCaptureDeviceというクラスを使って実現できます。 実装方法はこんな感じです。
#!!{"brush":"objc","title":"ViewController.m"}
@implementation ViewController{
AVCaptureSession *captureSession;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//captureSession = [self session];
}
//LEDライトを点灯
-(IBAction)lighton:(id)sender {
[captureSession startRunning];
NSError *error = nil;
AVCaptureDevice *captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[captureDevice lockForConfiguration:&error];
captureDevice.torchMode = AVCaptureTorchModeOn;
[captureDevice unlockForConfiguration];
}
//LEDライトを消灯
-(IBAction)lightoff:(id)sender {
NSError *offerror = nil;
AVCaptureDevice *offcaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[offcaptureDevice lockForConfiguration:&offerror];
offcaptureDevice.torchMode = AVCaptureTorchModeOff;
[offcaptureDevice unlockForConfiguration];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
AVCaptureDeviceをインスタンス化して「torchMode」というプロパティの値を「AVCaptureTorchModeOn」にすればLED点灯します。 逆に「AVCaptureTorchModeOff」にすると消灯します。 LEDランプは懐中電灯アプリなどでよく利用されています。 是非参考にしてみてください。
サンプルコードをGitHubにアップしておきますので自由にお使いください。