ios简单操作手电筒

#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>

@interface ViewController ()
@property (nonatomic, strong) AVCaptureDevice *device;
@property (nonatomic,assign) BOOL lightOn;
@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    
    _device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    //hasTorch :返回YES表名手机上有手电筒
    if (![_device hasTorch]) {
        NSLog(@"手电筒坏了");
        return;
    }
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    
    _lightOn = !_lightOn;
    
    //根据ligthOn状态判断打开还是关闭
    if (_lightOn) {
        
        // 请求独占访问硬件设备
        [_device lockForConfiguration:nil];
        // 开启手电筒
        [_device setTorchMode:AVCaptureTorchModeOn];
        // 解除独占访问硬件设备
        [_device unlockForConfiguration];
        
    }else{
        //关闭手电筒
        [_device lockForConfiguration:nil];
        
        [_device setTorchMode:AVCaptureTorchModeOff];
        
        [_device unlockForConfiguration];
        
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS国际化简单操作 国际化后的App可以根据手机当前系统语言来切换不同的语言来适应不同的语言使用人群, 所以iO...
    zhouyuhan阅读 897评论 2 7
  • **舞榭歌台,风流总被雨打风吹去!**<由基拉> 1.UItableViewController 继承于UIVie...
    云之君兮鹏阅读 1,164评论 0 10
  • 你要知道, 世间所有孤独, 都是放错位置的礼物。 而你我终其一生, 把人生拆了又拆, 终于在某个时刻恍然大悟, 你...
    怀子虞阅读 103评论 0 1
  • 突然就想写一点东西,就好比画画一样的,写作也是我的爱好之一,之前由于太多因素,其实也都是自己的原因,觉得好...
    阿微呀阅读 180评论 0 1