iOS 手动调节扫二维码的 焦距

2019-10-24  本文已影响0人  王家小雷

pragma mark - AV capture methods

// 3
_captureSession = [[AVCaptureSession alloc] init];
//高质量采集率
[_captureSession setSessionPreset:AVCaptureSessionPresetHigh];

// 4
_videoInput = [[AVCaptureDeviceInput alloc]
               initWithDevice:_videoDevice error:nil];
//

// 5
if ([_captureSession canAddInput:_videoInput]) {
    [_captureSession addInput:_videoInput];
}

// //新增自动对焦功能
// [_videoInput.device lockForConfiguration:nil];
// //自动平衡
// if ([_videoDevice isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeAutoWhiteBalance]) {
// [_videoInput.device setWhiteBalanceMode:AVCaptureWhiteBalanceModeAutoWhiteBalance];
// }
// //先进行判断是否支持d控制对焦,不开启自动对焦功能,很难识别二维码
// if (_videoDevice.isFocusPointOfInterestSupported && [_videoDevice isFocusModeSupported:AVCaptureFocusModeAutoFocus]) {
// [_videoInput.device setFocusMode:AVCaptureFocusModeContinuousAutoFocus];
// }
// [_videoInput.device unlockForConfiguration];
//新增自动对焦功能

// 6
_previewLayer = [[AVCaptureVideoPreviewLayer alloc]
                 initWithSession:_captureSession];
_previewLayer.videoGravity =
AVLayerVideoGravityResizeAspectFill;


// capture and process the metadata
_metadataOutput = [[AVCaptureMetadataOutput alloc] init];
dispatch_queue_t metadataQueue =
dispatch_queue_create("com.1337labz.featurebuild.metadata", 0);

// [_metadataOutput setMetadataObjectsDelegate:self
// queue:metadataQueue];
[_metadataOutput setMetadataObjectsDelegate:self
queue:dispatch_get_main_queue()];
if ([_captureSession canAddOutput:_metadataOutput]) {
[_captureSession addOutput:_metadataOutput];
}
//不加调焦距扫不出来
_metadataOutput.metadataObjectTypes = @[AVMetadataObjectTypeQRCode,AVMetadataObjectTypeCode39Code,AVMetadataObjectTypeCode93Code,AVMetadataObjectTypeCode128Code,AVMetadataObjectTypeCode39Mod43Code,AVMetadataObjectTypeEAN8Code,AVMetadataObjectTypeEAN13Code];

[_captureSession addObserver:self forKeyPath:@"running" options:NSKeyValueObservingOptionNew context:nil];

// [self autoJiaoju];
}

pragma mark --调焦距

// slider变动时改变label值

}

上一篇 下一篇

猜你喜欢

热点阅读