AVFoundation功能

181 阅读1分钟

聚焦

1.询问当前的摄像头是否支持兴趣点聚焦和自动聚焦 isFocusPointOfInterfaceSupported   isDocusModeSupported:AVCapureFocusModeAutoFocus ;

2.如果支持 ,不能让多个对象对他进行更改,故锁定该设备配置[   lockForConfiguration : &error];

3.锁上之后,设置聚焦的位置和模式  

focusPointOfInterface ;  focusMode

4.设置

曝光

自定义:点击哪哪曝光  系统:根据场景曝光

1.是否支持兴趣点曝光  isExposurePontOfInterestSupported

2.设置曝光模式为自动曝光 []

3.判断是否支持兴趣曝光和当前曝光模式

4.锁定曝光

5.锁定成功,将曝光点和曝光模式给设备

6.查看是否支持锁定曝光

7.使用kvo的模式监听曝光模式

8.实现observe的代理: 

8.1拿到device  8.2判断device支不支持兴趣曝光和当前的曝光模式

8.3如果不支持,移除当前的观察者,回到主队列设置曝光模式,设置之前要给当前设备上锁.


拍摄静态图片:

1.建立输入和输出的连接  [ connectonWithMediaType : ];

2.获取连接的方向值.  

4.获取图片的数据值 , 

[self.imageOutput  capyureStillImageAsynchronouslyFromConnection: connection  completionHandler:^(CMSampleBufferRef _Nullable imageDaraSampleBuffer, NSError *_Nullable error){

将图片从缓冲区取出,转化成一张图片data.在转化为Image.

将图片写入到library

[self writeToLibrary:image];

}]; 

5.将图片写入到library