【问题标题】:AVCaptureMetadataOutput scan multiple typesAVCaptureMetadataOutput 扫描多种类型
【发布时间】:2019-08-21 21:41:04
【问题描述】:

我是 Xcode (7.2) 和 Swift 的新手。

我让一个程序员为我创建了一个应用程序作为我想要的示例。他目前不在,我自己也找不到答案。

我想扫描多种条形码类型,我需要帮助将其集成到我的代码中。

这是代码。我可以交换类型并且效果很好,但我想同时支持所有类型。

let metadataOutput = AVCaptureMetadataOutput()

if(session.canAddOutput(metadataOutput)){
    session.addOutput(metadataOutput)

    metadataOutput.setMetadataObjectsDelegate(self, queue: dispatch_get_main_queue())
    metadataOutput.metadataObjectTypes = [AVMetadataObjectTypeEAN8Code]
        //[AVMetadataObjectTypeUPCECode]
    //[AVMetadataObjectTypeEAN13Code]
}else{
    scanningNotPossible()
}

我认为我需要重新定义一些东西,但请帮忙,因为我无法弄清楚。

【问题讨论】:

标签: avfoundation barcode-scanner


【解决方案1】:

这会扫描上面sn -p中提到的三种类型:

metadataOutput.metadataObjectTypes = [AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeUPCECode, AVMetadataObjectTypeEAN13Code]

如果您通过命令单击其中一个符号,例如AVMetadataObjectTypeEAN8Code,您会发现可以添加到上述数组中的其他元数据对象类型。

【讨论】:

    【解决方案2】:

    但是有点慢

    let metadata = AVCaptureMetadataOutput()
    metadata.metadataObjectTypes = metadata.availableMetadataObjectTypes
    

    【讨论】:

      猜你喜欢
      • 2013-12-16
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多