Swift 闪光灯的使用
在iOS里面闪光灯的使用依赖于AVFoundation,创建具体媒体对象,然后加锁设备、调用、解锁即可。
正文:
import UIKit
import SnapKit
import AVFoundationclass SecondViewController: UIViewController {// 创建Device实例对象let device = AVCaptureDevice.default(for: AVMediaType.video)let buttonFlashLow = UIButton(type: UIButton.ButtonType.system)private func initView(){buttonFlashLow.setTitle("Flash", for: UIControl.State())buttonFlashLow.addTarget(self, action: #selector(flashLight), for: UIControl.Event.touchUpInside)buttonFlashLow.snp.makeConstraints{ make inmake.width.equalTo(100)make.height.equalTo(60)}override func viewDidLoad() {super.viewDidLoad()initView()}@objc func flashLight(){if device!.hasTorch && ((device?.isTorchAvailable) != nil){// 加锁try? device?.lockForConfiguration()if device?.torchMode == .off{// 开灯device?.torchMode = .on}else{// 关灯device!.torchMode = .off}// 解锁device!.unlockForConfiguration()}}}
Swift 闪光灯的使用相关推荐
- 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头
在开启这个旅程之前, 请记住, AVFoundation是一个复杂的工具. 在很多情况下, 我我们使用苹果默认的API(比如:UIImagePickerController)就足够了. 在您阅读之前, ...
- Swift与LLVM-Clang原理与示例
Swift与LLVM-Clang原理与示例 LLVM 学习 从 简单汇编基础 到 Swift 不简单的 a + 1 作为iOS开发,程序崩溃犹如家常便饭,秉着没有崩溃也要制造崩溃的原则 每天都吃的很饱 ...
- swift笔记——环境搭建及Hello,Swift!
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/enson16855/article/details/29829601 首先要下载XCode6.仅仅有 ...
- Swift中的问号?和感叹号!
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: var ...
- swift java混合,如何在Swift中连接或合并数组?
使用Swift 3,根据您的需求和品味,您可以选择其中一个 five following ways 来连接/合并两个数组 . 1.使用Swift标准库(: :)泛型运算符将两个数组合并为一个新数组 S ...
- swift文件服务器,Swift3一行代码将各种类型文件上传到服务器
由于之前一直在忙项目,很久没有写过一篇像样的文章了,现在手上的项目基本是完成了,正好工作时间偷个懒写两篇文章. 将相机或相册图片上传到服务器 先看看最常见的图片上传,也可以选择跳过,后面有直接的封装方 ...
- Swift中NSRange和Range的转换
最近项目再使用swift重构,遇到Range和NSRange转换的问题,这里记录下: 因为要使用NSRange,所以有了下面这段代码,将String转换为NSString后调用 range(of se ...
- swift中单例的创建及销毁
最近项目重构时使用了oc和swift的混编,遇到了关于单例的创建及销毁,这里记录一下 //创建单例private static var _sharedInstance: ViewController? ...
- swift 加载gif 框架图片
swift 加载gif 框架图片 SwiftGifOrigin 以下代码 轻松搞定 let imgView = UIImageView(frame: CGRect(x: 50, y: 100, wid ...
最新文章
- Hbase 和 MySQL 的区别是什么?一文深度对比!
- 《Linux命令详解手册》——Linux畅销书作家又一力作
- IEEE Spectrum调查:AI 的 6 种最坏情况
- 【转】Linux下Oracle sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)...
- VC++6中的一些快捷键(陆续补充中。。。)
- SEM那些被人混淆的事儿(已完结)
- Qt的Socket通信
- 慕课堂计算机word,数字技能 – 办公工具(Microsoft Word、Excel、Power Point)
- element-ui upload组件 上传文件类型限制
- element 动态加载下拉框_动态增加select框(elementUI 框架)
- HashMap的工作原理--重点----数据结构示意图的理解
- 数据挖掘相关代码实践
- 筛选法建立初始堆_MTT法检测细胞增殖
- STM32中RTC唤醒停止模式
- 渗透测试工程师可以写进简历的技能介绍部分
- 宝塔linux 云锁安装卸载,Centos宝塔安装云锁带自编译好模块Nginx
- Qt 获取当前屏幕分辨率
- EntityComponentSystemSamples学习笔记
- addActionListener
- 【NLP】详聊NLP中的阅读理解(MRC)
热门文章
- 这 10 款良心 Windows 软件,改变你对国产的认知
- C#音频截取与原文匹配
- Java中List排序的3种方法
- 逍遥情缘服务器维护没通告,开服才两天等级就落后了?逍遥情缘前期升级要诀请记牢...
- 最强蜗牛击败毁灭机器人_最强蜗牛恶魔形态怎么玩_恶魔形态能力变化突变攻略_3DM手游...
- 华为手表计算机有什么功能,华为智能手表功能大全,华为智能手表有什么功能...
- 行内元素和块级元素有哪些
- 少年碎碎念:《我迷路了》
- malody登陆是显示服务器错误,Malody无法连接服务器是什么原因
- Python中的按位取反