小编jun*_*net的帖子

捕获QR码的代码在Xcode8和Swift3中看起来效果不佳

我正在尝试使用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)

avfoundation ios swift swift3 ios10

1
推荐指数
1
解决办法
1224
查看次数

标签 统计

avfoundation ×1

ios ×1

ios10 ×1

swift ×1

swift3 ×1