我正在尝试使用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();
});Run Code Online (Sandbox Code Playgroud)
<!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>Run Code Online (Sandbox Code Playgroud)
我正在使用 Quagga.js 使用 HTML5 和 javascript 制作在线扫描应用程序。
我需要让网络摄像头工作来搜索条形码和导入的 quagga.js :
在 Quagga 的网页上,您会找到一个名为 Quagga.init 的方法。初始化网络摄像头视图。我在脚本标签中输入了这段代码:
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream"
},
decoder : {
readers : ["code_128_reader"]
}
}, function() {
console.log("Initialization finished. Ready to start");
Quagga.start();
});
Run Code Online (Sandbox Code Playgroud)
但什么也没发生。我需要做什么才能让这个网络摄像头工作?对于创建用于扫描条码的基于 Web 的应用程序,还有其他意见吗?
谢谢你的回答!
我想创建一个充当条形码和二维码扫描仪的 PWA。为了检测 QR 码,我使用 jsQR (请参阅:https: //github.com/cozmo/jsQR),对于条形码,我想使用 QuaggaJS (请参阅: https: //serratus.github.io/quaggaJS/)。为了选择应检测的代码类型,我的网站上有一些单选按钮,它们调用函数“triggerScannerInitialization()”(见下文)。扫描二维码已经可以使用,但扫描条形码会导致一些问题。相机图像未正确加载。如果我在仅使用 QuaggaJS 的测试站点上运行相同的代码,扫描条形码就会正常工作。我认为从同一相机打开两个相机流可能会导致问题。谁能给我提示如何使用相同的相机流?
\n// variables for stopping scanner types on next run\nlet stopJsQrOnNextRun = true;\n\nfunction triggerScannerInitialisation() {\n // get the selected code type\n let codeTypeSelector = document.querySelector(\'input[name="code_type_selector"]:checked\').value;\n\n switch (codeTypeSelector) {\n case \'barcode\':\n stopJsQrOnNextRun = true;\n startQuaggaJs();\n break;\n case \'qr\':\n stopQuaggaJs();\n stopJsQrOnNextRun = false;\n startJsQr();\n break;\n default:\n return false;\n }\n}\n\nfunction startQuaggaJs() {\n document.getElementById("barcode_camera_div").hidden = false;\n\n Quagga.init({\n inputStream: {\n name: "Live",\n type: "LiveStream",\n target: document.querySelector(\'#barcode_camera_div\'),\n constraints: {\n width: 480,\n …Run Code Online (Sandbox Code Playgroud)