6

我正在尝试用Quagga制作条形码扫描仪。但我只能看到网络摄像头的实时版本,但它无法识别任何 ( code 128) 条码。(该片段未在 stackoverflow 上显示网络摄像头。)

我认为我错过了一步,但希望这里有人能把我推向正确的方向。

Quagga.init({
		inputStream : {
		  name : "Live",
		  type : "LiveStream",
		  target: document.querySelector('#scanblock')
		},
		decoder : {
		  readers : ["code_128_reader"]
		}
	  }, function(err) {
		  if (err) {
			  console.log(err);
			  return
		  }
		  console.log("Initialization finished. Ready to start");
		  Quagga.start();
	  });
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://serratus.github.io/quaggaJS/examples/js/quagga.min.js" type="text/javascript"></script>
  </head>
  <body>
    <header style="text-align: center; margin-top:3%;">
      <h3>Barcode Scanner</h3>
      <hr/>
    </header>
    <div style="text-align: center; margin-top: 6%;">
      <div id="scanblock"></div>
    </div>
  </body>
</html>

4

1 回答 1

0

Jymbo 是正确的。您还必须实现 .onProcessed() 和 .onDetected()。我建议在 onDetected 返回结果时执行.stop()。否则它将继续处理和检测——永远。

如果您还没有弄清楚,它只会检测解码器上定义的阅读器实例。

于 2019-08-22T22:31:53.923 回答