2017-01-24 77 views
0

我是Xcode(7.2)和Swift等等的新手。AVCaptureMetadataOutput扫描多种类型

我有一个程序员为我创建一个应用程序作为示例。他目前无法使用,我自己也找不到答案。

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

这是代码。我可以交换类型,它可以正常工作,但我想一次支持所有类型。

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() 
} 

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

+0

您可以尝试使用此存储库:https://github.com/maryamfekri/MFCameraManager。它扫描条形码相机,你所要做的就是在你的视图控制器中实例化它 –

回答

0

这将扫描上面的代码中提到的三种类型:

metadataOutput.metadataObjectTypes = [AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeUPCECode, AVMetadataObjectTypeEAN13Code] 

如果命令点击的标志之一,像AVMetadataObjectTypeEAN8Code,你会发现其他元数据对象类型,您可以添加到上面阵列。