IOS 开灯 开启系统手电筒功能(OC)

做二维码扫描的时候需要做一个 开灯 的功能,开启系统灯光的功能,就写了一个demo。


首先需要导入系统拍摄设备的类库,AVFoundation.


代码如下:


- (void)viewDidLoad {

    [superviewDidLoad];

    UIButton* btn = [[UIButtonalloc] initWithFrame:CGRectMake(50,100, 100,30)];

    btn.backgroundColor = [UIColorgreenColor];

    [btn addTarget:selfaction:@selector(btnClick:)forControlEvents:UIControlEventTouchUpInside];

    [btn setTitle:@"开启"forState:UIControlStateNormal];

    [btn setTitle:@"关闭"forState:UIControlStateSelected];

     [self.viewaddSubview:btn];

}


-(void)btnClick:(UIButton*)btn

{

    btn.selected = !btn.selected;

    [selfturnTorchOn:btn.selected];

}


-(void)turnTorchOn: (bool) on

{

    Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");

    if (captureDeviceClass !=nil) {

        AVCaptureDevice *device = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];

        if ([devicehasTorch] && [device hasFlash]){

            [device lockForConfiguration:nil];

            if (on) {

                [device setTorchMode:AVCaptureTorchModeOn];

                [device setFlashMode:AVCaptureFlashModeOn];

            } else {

                [device setTorchMode:AVCaptureTorchModeOff];

                [device setFlashMode:AVCaptureFlashModeOff];

            }

            [device unlockForConfiguration];

        }else{

            NSLog(@"初始化失败");

        }

    }else{

        NSLog(@"没有闪光设备");

    }

}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值