IOS-闪光灯操作

AVCaptureDevice.h主要用来获取iphone一些关于相机设备的属性。
前置和后置摄像头
enum {
AVCaptureDevicePositionBack                = 1,
AVCaptureDevicePositionFront               = 2
};
typedef NSInteger AVCaptureDevicePosition;

闪光灯开关

enum {
AVCaptureFlashModeOff  = 0,
AVCaptureFlashModeOn   = 1,
AVCaptureFlashModeAuto = 2
};
typedef NSInteger AVCaptureFlashMode;

手电筒开关

enum {
AVCaptureTorchModeOff  = 0,
AVCaptureTorchModeOn   = 1,
AVCaptureTorchModeAuto = 2,
};
typedef NSInteger AVCaptureTorchMode;

焦距调整

enum {
AVCaptureFocusModeLocked              = 0,
AVCaptureFocusModeAutoFocus           = 1,
AVCaptureFocusModeContinuousAutoFocus = 2,
};
typedef NSInteger AVCaptureFocusMode;

曝光量调节

enum {
AVCaptureExposureModeLocked = 0,
AVCaptureExposureModeAutoExpose = 1,
AVCaptureExposureModeContinuousAutoExposure = 2,
};
typedef NSInteger AVCaptureExposureMode;

白平衡

enum {
AVCaptureWhiteBalanceModeLocked         = 0,
AVCaptureWhiteBalanceModeAutoWhiteBalance         = 1,
    AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance = 2,
};
typedef NSInteger AVCaptureWhiteBalanceMode;

开启闪光灯:

 1 AVCaptureDevice* d = nil; // find a device by position
 2 NSArray* allDevices = [AVCaptureDevice devices];
 3 for (AVCaptureDevice* currentDevice in allDevices) {
 4     if (currentDevice.position == AVCaptureDevicePositionBack) {
 5             d = currentDevice;
 6     }
 7 } // at this point, d may still be nil, assuming we found something we like....
 8 NSError* err = nil;
 9 BOOL lockAcquired = [d lockForConfiguration:&err];
10 if (!lockAcquired) {
11     // log err and handle...
12 } else {
13     // flip on the flash mode
14     if ([d hasFlash] && [d isFlashModeSupported:AVCaptureFlashModeOn] ) {
15     [d setFlashMode:AVCaptureFlashModeOn];
16     }
17     [d unlockForConfiguration];
18 }
时间: 2024-07-31 14:29:30

IOS-闪光灯操作的相关文章

ios闪光灯调用

引入 #import <AVFoundation/AVFoundation.h> 打开闪光灯 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (![device hasTorch]) {//判断是否有闪光灯 NSLog(@"no torch"); }else{ [device lockForConfiguration:nil];//锁定闪光

iOS 数据库操作(使用FMDB)

iOS 数据库操作(使用FMDB) iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包.

iOS——文件操作NSFileManager (创建、删除,复制,粘贴)

iOS——文件操作NSFileManager (创建.删除,复制,粘贴) iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.               上面的完整路径为:用户->资源库->Applicat

iOS数据库操作之coredata详细操作步骤

CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong iOS应用数据存取的常用方式 ? XML属性列表 -- PList? NSKeyedArchiver 归档 ?Preference(偏好设置) ? SQLite3? Core DataCore Data简介 ? Core Data 是iOS SDK 里的一个很强大的

iOS文件操作一览

1.常见的NSFileManager文件方法 2.常见的NSFileManager目录方法 3.常用的路径工具方法 4.常用的路径工具函数 5.NSProcessInfo类方法 6.常用的NSFileHandle方法 [附]iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立.封闭.安全的空间,叫做沙盒.它一般存放着程序包文件(可执行文件).图片.音频.视频.plist文件.sqlite数据库以及其他文件. 每个应用程序都有自己的独立的存储空间(沙盒) 一般来说应用程序之

iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)

1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作. UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UITapGestureRecognizer(点按) UILo

IOS文件操作和自定义对象的归档(序列化)、反归档(反序列化)

IOS对文件操作包含文件的创建,读写,移动,删除等操作. 1.文件的创建: //设定文本框存储文件的位置 NSString *strFilePath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]; //指定存储文件的文件名 NSString *fileName=[strFilePath stringByAppendingPathComponent:@

ios多线程操作(一)—— 多线程基础与原理

一.进程 进程是指在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程都运行在其专用且受保护的内存空间内 二.线程 一个进程要想执行任务就必须要有线程,每一个进程至少都要有一条线程. 线程是进程的基本执行单元,一个进程的所有任务都在线程中执行. 线程又分为主线程和子线程: 主线程:一个ios程序运行后,默认会开启一条线程,称为"主线程"或"UI线程",ios上任何UI的操作都在主线程上执行 子线程:除主线程外进程中得其他线程,程序中一般都将耗时的操作添加

iOS数据库操作(使用FMDB)

iOS学习笔记(十六)——数据库操作(使用FMDB) 分类: iOS开发 2013-07-15 23:19 8655人阅读 评论(5) 收藏 举报 目录(?)[+] iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一

ios多线程操作(六)—— GCD全局队列与主队列

GCD默认已经提供了全局的并发队列供整个应用使用,所以可以不用手动创建. 创建全局队列的函数为 dispatch_queue_t q = dispatch_get_global_queue(long identifier, unsigned long flags) 参数类型为: long identifier:ios 8.0 告诉队列执行任务的"服务质量 quality of service",系统提供的参数有: QOS_CLASS_USER_INTERACTIVE 0x21,