视频捕捉、录制、切换摄像头、聚焦

github下载链接:https://github.com/SSYSSK/camera2

关于视频捕捉、录制、切换摄像头在上一篇博客有详细的讲解(https://blog.csdn.net/s12117719679/article/details/100513400),

这里就不做过多解析

聚焦的关键代码如下:

点击手势,根据点击的位置转换成相机的聚焦点坐标

-(void)handleSingleTap:(UIGestureRecognizer *)recognizer {
    CGPoint point = [recognizer locationInView:self];
    [self runBoxAnimationOnView:self.focusBox point:point];
    if(self.delegate){
        [self.delegate tappedToFocusAtPoint:point];
    }
}

相机聚焦实现

-(void)tappedToFocusAtPoint:(CGPoint)point {
    //[self.activeCamera isFocusPointOfInterestSupported] 是否支持对焦 iPhone6以上才支持
    //[self.activeCamera isFocusPointOfInterestSupported] 是否支持自动对焦模式
    NSLog(@"对焦%f",point.x);
    NSLog(@"对焦%f",point.y);
    if ([self.activeCamera isFocusPointOfInterestSupported] && [self.activeCamera isFocusModeSupported:AVCaptureFocusModeAutoFocus]) {
        // 因为设备有多个,所以需要锁定
        if([self.activeCamera lockForConfiguration:nil]){
          
            // 设置聚焦位置
            self.activeCamera.focusPointOfInterest = point;
            // 设置对焦模式
            self.activeCamera.focusMode = AVCaptureFocusModeAutoFocus;
            
            // 释放锁
            [self.activeCamera unlockForConfiguration];
        }
    }
}

对焦的模式选择:

AVCaptureFocusModeLocked 关闭对焦

AVCaptureFocusModeAutoFocus 自动对焦

AVCaptureFocusModeContinuousAutoFocus 自动连续对焦

发布了79 篇原创文章 · 获赞 42 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/s12117719679/article/details/100693047