2012年3月25日日曜日

AVFondation.frameworkを使って懐中電灯アプリを作る


■iPhone4のLEDフラッシュを使って、ライトを点灯させる方法
http://applewalker.blog8.fc2.com/?no=144


ここのブログを参考に、
懐中電灯のアプリを作ってみました。

ボタンの切り替えで、LEDライトの切り替えがなかなかうまくいかず、
一日中悩んでいたので忘れないようにメモ。

[captureDevice lockForConfiguration:&error];
captureDevice.torchMode = AVCaptureTorchModeOn;
[captureDevice unlockForConfiguration];

ここのモードの切り替えのところは、
lockとunlockの間に挟まないとモードの切り替えが出来ません。


なので、
-----------------
-(void)lighton:(id)sender {
[self.captureSession startRunning];
NSError *error = nil;
AVCaptureDevice *captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[captureDevice lockForConfiguration:&error];
captureDevice.torchMode = AVCaptureTorchModeOn;
[captureDevice unlockForConfiguration];
}


-(void)lightoff:(id)sender {
NSError *offerror = nil;
AVCaptureDevice *offcaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[offcaptureDevice lockForConfiguration:&offerror];
offcaptureDevice.torchMode = AVCaptureTorchModeOff;
[offcaptureDevice unlockForConfiguration];
}
-------------


こんな風に、ボタンのオンオフでモードを切り替えれば大丈夫!
ということでした。

なんで気づかなかったんだろう、
ずっと

----
-(void)lighton:(id)sender {
[self.captureSession startRunning];
}


-(void)lightoff:(id)sender {

[self.captureSession stopRunning];
}
----


こんな風にやっていました。。
電源オフボタンを押したら、もうライトが付かなくなってしまうという、、


まだまだ勉強しないといけないですね、頑張ります!

0 件のコメント:

コメントを投稿