2016-12-06 90 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