【问题标题】:Is it possible to have a camera preview AND scan barcodes in Ionic/Cordova?是否可以在 Ionic/Cordova 中进行相机预览和扫描条形码?
【发布时间】:2016-12-20 12:15:20
【问题描述】:

所以我目前正在网上游弋,试图调查已经存在哪些仅适用于 iOS 和 Android 上的 Cordova/Ionic/AngularJS;下面是我所遇到的快速视图,然后我将解释我想要实现的目标。我遇到了cordova-plugin-camera-preview,这绝对是我想采用的方法的理想选择;基本上,在不离开我的应用程序的情况下将其嵌入到我的 HTML 中。我还遇到了quaggaJS,它似乎是一个有趣的条形码扫描仪。现在我使用了cordovaBarcodeScanner,但这似乎退出了我的应用程序,这不是我理想的方法。

我想要达到的目标

在我的 Ionic/Cordova 移动应用程序中,我正在尝试实现实时预览条码扫描器。所以我的想法是我将导航到我的应用程序中的一个页面,该页面将启动嵌入式相机视图并提供可以通过我的相机看到的实时信息(cordova-plugin-camera-preview 提供的内容非常适合这种方法)但当然这个插件不提供任何条码 (EAN) 扫描功能。所以在这一点上,我发现 quaggaJS 似乎是一个不错的方法,但是,我目前无法让 quaggaJS 与我的 Cordova 项目一起工作,这很遗憾。

我想要实现的目标是否已经存在,或者是否有可能让我所指的两个插件与 Cordova 项目一起使用?

非常感谢任何帮助。

【问题讨论】:

    标签: android ios angularjs cordova camera


    【解决方案1】:

    到目前为止,我发现的是 Scandit SDK,它可以提供您想要的东西,但它是付费的,而且有点贵。

    到目前为止,我所做的是使用您提到的这个库和 qrcode javascript 库来解码我从相机预览中获得的图片,但它不如 Scandit 快。如果您发现更好的东西,请告诉我们。

    【讨论】:

      【解决方案2】:

      您可以使用QR Scanner Ionic Native Plugin 但由于它仅配置为扫描二维码,您必须编辑 添加所需条形码格式的来源。

      对于 Android,请编辑以下文件:/platforms/android/app/src/main/java/com/bitpay/cordova/qrscanner/QRScanner.java 第 457 行之后:

      formatList.add(BarcodeFormat.QR_CODE);
      // add your [BarcodeFormat][2] here.
      

      对于 IOS 编辑以下文件: /platforms/ios/yourapp/Plugins/cordova-plugin-qrscanner/QRScanner.swift

      第 156 行:

      metaOutput!.metadataObjectTypes = [AVMetadataObject.ObjectType.qr, ... comma_seperated_formats_here]
      

      您还必须编辑第 250 行:

      if ( (found.type == (AVMetadataObject.ObjectType.qr) && found.stringValue != nil) )
      

      像这样:

      if ( (found.type == (AVMetadataObject.ObjectType.qr) && found.stringValue != nil) ||
          (found.type == (AVMetadataObject.ObjectType.ean13) && found.stringValue != nil) || ..... )
      

      【讨论】:

      • 感谢您的时间和精力的回复,我希望它可以帮助遇到类似问题的其他人。在我的情况下,这个问题与我不再相关,因为我已经搬到 Xamarin - 原始项目也是使用 Ionic V1 和 AngularJS 完成的,所以我不相信你的解决方案适用于我的旧项目。
      • 谢谢约翰,这对我帮助很大!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2019-02-01
      • 2015-11-04
      • 2017-12-23
      • 2020-10-06
      相关资源
      最近更新 更多