2016-12-06 69 views
1

我目前正在开发UWP应用程序,其中一步是使用相机扫描以code39编码的条码。UWP BarcodeScanner无法识别Code39条码

与我在商店中找到的其他(UWP-)应用程序一样,我的示例代码在code39编码中得到正确识别(所以我认为它是有效的代码)。

我看着从microsoft uwp samples on github 的BarcodeScanner样品(我也看了看CameraBarcodeScanner样品,这得到了来自github上最近移除)

当我使用BarcodeScannerClaimedBarcodeScanner类从Windows.Devices.PointOfService,其他条码(EAN8或EAN13)得到正确识别。 (所以我假设条码识别是这样的)

我试过使用SetActiveSymbologiesAsync来使扫描器能够找到code39条形码。每当我在列表中调用它没有BarcodeSymbologies.Ean8,异常得到投掷:

"A device attached to the system is not functioning. (Exception from HRESULT: 0x8007001F)" 

当我在列表中BarcodeSymbologies.Ean8调用它,它指向相机的CODE39条形码时错误地识别出EAN8代码。

这里是我的代码:

private void OnScannerDataReceived(ClaimedBarcodeScanner sender, BarcodeScannerDataReceivedEventArgs args) 
{ 
    var dataLabel = string.Format("{0}", Encoding.UTF8.GetString(args.Report.ScanData)); 
    var symbol = BarcodeSymbologies.GetName(args.Report.ScanDataType); 
    Debug.WriteLine($"LABEL: {dataLabel} | BARCODE: {symbol}."); 
    BarcodeReceived?.Invoke(this, dataLabel); 
} 
+1

您能否提供您的硬件信息?我们需要一些细节以供参考。 –

+0

我已经试过了以下设备: *索尼Vaio VPCSB2(内部摄像头) ·戴尔XPS15(内部摄像头) *松下FZ-G1(内部摄像头) *所有以上的一个Microsoft HD3000 USB-Webcam 由于没有配置可以检测到我的code39条形码,我认为问题是软件相关。 – Nasto

回答

0

感谢您报告此问题。

那么,你问的场景是使用我们的内置软件解码器和标准镜头。不幸的是,我们发现这款解码器可以准确读取一维条码,包括Code 39,并将在未来版本中解决这个问题。

码39正常工作与物理条码扫描器,所以这是特定于镜头解码器的问题。我们希望在将来的版本中有一个新的软件解码器可以解决这个问题。我们建议现在只使用QR码相机镜头解码器。

+0

我明白这一点。我不明白的是Code39在过去的版本中没有任何问题。我有相同的设置,在过去的3到4周内的某个时间点似乎有变化。有趣的是,来自UWP GitHub项目的条形码样本也被删除了。什么改变了? – sprinter252