我正在尝试使用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>
答案 0 :(得分:0)
Jymbo是正确的。您还必须实现.onProcessed()和.onDetected()。我建议在onDetected返回结果时执行execute.stop()。否则它将永远继续处理和检测。
如果您没有弄清楚,它只会检测解码器上定义的阅读器实例。