(一)前言
AVCapture Device 定义了很多方法,让开发者控制ios设备上的摄像头。可以独立调整和锁定摄像头的焦距、曝光、白平衡。对焦和曝光可以基于特定的兴趣点进行设置,使其在应用中实现点击对焦、点击曝光的功能。
还可以让你控制设备的LED作为拍照的闪光灯或手电筒的使用
每当修改摄像头设备时,一定要先测试修改动作是否能被设备支持。并不是所有的摄像头都支持所有功能,例如牵制摄像头就不支持对焦操作,因为它和目标距离一般在一臂之长的距离。但大部分后置摄像头是可以支持全尺寸对焦。尝试应用一个不被支持的动作,会导致异常崩溃。所以修改摄像头设备前,需要判断是否支持。比如,将对焦模式设置为自动之前,首先要检查此模式是否被支持。
当验证这一个配置的修改可以支持时,就可以执行实际的设置配置了。修改捕捉设备的基本技巧包括先锁定设备准备配置,执行所需的修改,最后解锁设备。
Mac、iPhone、iPad上的设备都是系统通用的,所以在进行修改前,AVCaptureDevice要求开发者获得设备上的一个排它锁🔒,不这样做会导致应用程序抛出异常。虽然不要求配置完立即释放排它锁🔒,不过如果不释放则会对其他使用同一个资源的应用程序产生副作用,所以大多数时候我们每当配置完成后就释放这个排它锁🔒。
5.1 调整焦距&曝光
iOS设备是大多数后置摄像头都支持基于给定的兴趣点设置对焦&曝光数据。我们在这个demo上直观的利用这个功能允许用户在摄像头界面点击一个位置,就会在这个点自动对焦或曝光。还可以对这些兴趣点锁定焦距&曝光,确保用户可以稳定的点击拍照按钮。
cameraSupportsTapToFocus:方法实现
focusAtPoint:方法实现
cameraSupportsTapToExpose:方法实现
exposeAtPoint: 方法实现
observeValueForKeyPath:...方法实现
resetFoucsAndExposureModes方法实现
小伙伴们阅读后,请喜欢一下。文章更新可以提醒到你哦~~~~