我需要从一个ID扫描条形码,并捕获该ID卡的图像。我创建了自定义相机预览层以捕获图像并从id扫描条形码。我对两者都使用了相同的会话,但是我在捕获图像时无法扫描条形码,我必须使相机靠近条形码才能读取它。有什么办法可以远距离扫描条形码。我使用本机代码进行扫描。
// Set the input device on the capture session.
captureSession.addInput(input)
// captureSession.addOutput(output)
if captureSession.canAddOutput(output) {
captureSession.addOutput(output)
}
// Initialize a AVCaptureMetadataOutput object and set it as the output device to the capture session.
let captureMetadataOutput = AVCaptureMetadataOutput()
captureSession.addOutput(captureMetadataOutput)
// Set delegate and use the default dispatch queue to execute the call back
captureMetadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
captureMetadataOutput.metadataObjectTypes = supportedCodeTypes
还实现了AVCaptureMetadataOutputObjectsDelegate,但我无法对其进行扫描