【发布时间】:2021-04-16 10:24:31
【问题描述】:
我有一个问题,想知道在我所在层的任何地方扫描二维码/条形码。
我只将我的二维码/条形码放在图层中间并获得价值。
当我将二维码/条形码放在右上角时,无法获得价值。
有什么解决办法吗?
private func doInitialSetup() {
clipsToBounds = true
captureSession = AVCaptureSession()
guard let videoCaptureDevice = AVCaptureDevice.default(for: .video) else { return }
let videoInput: AVCaptureDeviceInput
do {
videoInput = try AVCaptureDeviceInput(device: videoCaptureDevice)
} catch let error {
print(error)
return
}
if (captureSession?.canAddInput(videoInput) ?? false) {
captureSession?.addInput(videoInput)
} else {
scanningDidFail()
return
}
let metadataOutput = AVCaptureMetadataOutput()
if (captureSession?.canAddOutput(metadataOutput) ?? false) {
captureSession?.addOutput(metadataOutput)
metadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
metadataOutput.metadataObjectTypes = [.qr, .ean8, .ean13, .pdf417, .code128]
metadataOutput.rectOfInterest = UIScreen.main.bounds
} else {
scanningDidFail()
return
}
self.layer.session = captureSession
self.layer.videoGravity = .resizeAspectFill
captureSession?.startRunning()
}
【问题讨论】:
-
您找到解决方案了吗?我一直坚持同样的事情。
标签: ios swift avfoundation avcapturesession