我正在尝试使用AVCaptureMetadataOutputObjectsDelegateSwift3和iOS 10 beta设备捕获QR码.
但是captureOutput当设备的相机实际捕获QR码时,不会调用功能.
有人有解决方案吗?如果是这样,请告诉我如何修复和正常工作.
谢谢,
import UIKit
import AVFoundation
class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let mySession: AVCaptureSession! = AVCaptureSession()
let devices = AVCaptureDevice.devices()
var myDevice: AVCaptureDevice!
for device in devices! {
if((device as AnyObject).position == AVCaptureDevicePosition.back){
myDevice = device as! AVCaptureDevice
}
}
let myVideoInput = try! AVCaptureDeviceInput.init(device: myDevice)
if mySession.canAddInput(myVideoInput) {
mySession.addInput(myVideoInput)
}
let myMetadataOutput: AVCaptureMetadataOutput! = AVCaptureMetadataOutput()
if mySession.canAddOutput(myMetadataOutput) {
mySession.addOutput(myMetadataOutput)
myMetadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
myMetadataOutput.metadataObjectTypes = [AVMetadataObjectTypeQRCode]
} …Run Code Online (Sandbox Code Playgroud)