首页 > 代码库 > iOS 相机手动对焦
iOS 相机手动对焦
AVCaptureDevice的方法,之前查了网上和stackoverflow上,没有,于是自己试着做了下,成功了,分享下。
//实例化AVCaptureDevice *captureDevice = [[AVCaptureDevice alloc] init];//先进行判断是否支持控制对焦if (captureDevice.isFocusPointOfInterestSupported &&[captureDevice.isFocusModeSupported:AVCaptureFocusModeAutoFocus]) { NSError *error = nil;//对cameraDevice进行操作前,需要先锁定,防止其他线程访问, [self.recorder.cameraDevice lockForConfiguration:&error]; [self.recorder.cameraDevice setFocusMode:AVCaptureFocusModeAutoFocus]; [self.recorder.cameraDevice setFocusPointOfInterest:CGPointMake(pointX,pointY)];//操作完成后,记得进行unlock。 [self.recorder.cameraDevice unlockForConfiguration]; }
由于我做的的视频拍摄时手动对焦,
用了TapGestureRecognizer 的实例,添加到self.view上,
获得点击的坐标,然后用坐标对屏幕的尺寸进行数据处理,应为focusPointOfInterest是从左上到右下(0~1,0~1)范围内
比如点击的点tap.x 和tap.y
竖屏时候对焦点应是(tap.x/self.view.frame.size.width, tap.y/self.view.frame.size.height)
另外,这样或许对用户来说不够只管,看过系统相机都知道,点击对焦点时,有个方块缩小
我的实现方法是,用了uiview的实例,边框黄色,2像素寛,背景色clearColor,先添加到self.view上,大小为0,tap手势的方法里,设置uiview大小为40,然后加个动画设置uiview大小为20,这样当你点击屏幕某处的时候,有个黄色框缩小,同时,镜头进行对焦。
(如果有更好的方法,请指教下)
iOS 相机手动对焦
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。