iOS设备闪光灯的使用

废话不多说了,直接上代码!

我将其封装为类方法直接调用即可

/** 开或关 闪光灯 */
+ (void)changeFlash {

    //  获取摄像机单例对象
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    //必须判定是否有闪光灯,否则如果没有闪光灯会崩溃
    if (![device hasFlash]) return;
    
    //修改前必须先锁定
    [device lockForConfiguration:nil];
    
    if (device.flashMode == AVCaptureFlashModeOff) {
        device.flashMode = AVCaptureFlashModeOn;
        device.torchMode = AVCaptureTorchModeOn;
    } else if (device.flashMode == AVCaptureFlashModeOn) {
        device.flashMode = AVCaptureFlashModeOff;
        device.torchMode = AVCaptureTorchModeOff;
    }
    
    [device unlockForConfiguration];
}

/** 关灯 用于退出时调用 */
+ (void)closeFlash {

    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    
    if (![device hasFlash]) return;
    
    if (device.flashMode == AVCaptureFlashModeOn) {
        
        device.flashMode = AVCaptureFlashModeOff;
        device.torchMode = AVCaptureTorchModeOff;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛肉圆粉不加葱

Spark Streaming + Kakfa 编程指北

本文简述如何结合 Spark Streaming 和 Kakfa 来做实时计算。截止目前(2016-03-27)有两种方式:

1044

将R与Cloudera Impala集成,以实现Hadoop上的实时查询

Cloudera Impala支持Hadoop数据集上的低延迟交互式查询,这些数据集可以存储在Hadoop分布式文件系统(HDFS)或Hadoop的分布式NoS...

6427
来自专栏搜云库

大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建

Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (...

5708
来自专栏about云

CDH(Cloudera)与hadoop(apache)对比

问题导读: 1.hadoop有几个版本? 2.CDH有几种安装方式? 3.CDH在安装认证方面做了什么改变? Cloudera的CDH和Apache的H...

5046
来自专栏Hadoop实操

如何在Kerberos的Linux上安装及配置Impala的ODBC驱动

Impala提供了多种访问方式如impala-shell、beeline、JDBC以及ODBC等方式,关于beeline、JDBC的连接方式可以参考Fayson...

4575
来自专栏Albert陈凯

3.5 容错机制及依赖

3.5 容错机制及依赖 一般而言,对于分布式系统,数据集的容错性通常有两种方式: 1)数据检查点(在Spark中对应Checkpoint机制)。 2)记录数据...

4007
来自专栏AILearning

Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统。 它提供了 Java, Scala, Python 和 R 的高级 API...

3189
来自专栏Hadoop实操

如何使用Oozie API接口向非Kerberos环境的CDH集群提交Spark作业

在CDH集群外的节点向集群提交Spark作业的方式有多种,前面Fayson介绍了Livy相关的文章主要描述如何在集群外节点通过RESTful API接口向CDH...

3447
来自专栏Hadoop实操

如何通过CM禁用Federation

本文主要讲述如何通过CM禁用Federation。我前面写过两篇关于Federation的文章,可参看《HDFS Federation(联邦)简介》和《如何通过...

1314
来自专栏PPV课数据科学社区

大数据技术Hadoop面试题,看看你能答对多少?

单项选择题 1. 下面哪个程序负责 HDFS 数据存储。 a)NameNode b)Jobtracker c)Datanode d)secondaryNameN...

3364

扫码关注云+社区

领取腾讯云代金券