【发布时间】:2017-09-14 12:44:54
【问题描述】:
我正在使用quaggaJS (https://github.com/serratus/quaggaJS) 来读取 Web 应用程序中的条形码。效果很好,这是我的初始化代码:
Quagga.init({
inputStream: {
name: "Live",
type: "LiveStream",
constraints: {
width: 1280,
height: 720,
facingMode: "environment"
}
},
decoder: {
readers: ["code_39_reader"],
debug: {
drawBoundingBox: true,
showFrequency: false,
drawScanline: true,
showPattern: true
},
multiple: false
},
locator: {
halfSample: true,
patchSize: "medium"
}
}, function (err) {
if (err) {
alert(err);
return;
}
Quagga.registerResultCollector(resultCollector);
Quagga.start();
});
这里是onDetected事件的处理:
Quagga.onDetected(function (data) {
Quagga.stop(); // <-- I want to "pause"
// dialog to ask the user to accept or reject
});
这是什么意思? 当它识别出条形码时,我需要询问用户是否要接受或拒绝解码后的值 - 因此重复该过程。
留下捕捉到的图像会很好,这样他就可以真正看到他刚刚捕捉到的东西。
Quagga.stop() 在大多数情况下都有效,但并不可靠,因为有时画布会变黑。我想这是由于stop() 方法的行为:
解码器不再处理任何图像。此外,如果在初始化时请求了摄像头流,此操作也会断开摄像头的连接。
出于这个原因,我正在寻找一种方法来暂停解码,因此最后一帧仍然存在并且相机尚未断开连接。
有什么建议可以实现吗?
【问题讨论】:
标签: javascript quaggajs