Quagga.js库

Quagga.js


Quagga.js库主要用于扫描条形码,不多说废话,直接进入主题…

我们可以通过npm安装或者CDN的方式来使用Quagga。

本文章使用CDN的方式引入Quagga.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/quagga/0.12.1/quagga.min.js"></script>
</head>
<body>
    <!-- 摄像头展示区域 -->
    <div id="canvanCode"></div>
    <script>
        //Quagga库
        Quagga.init({
            inputStream : {
                name : "Live",
                type : "LiveStream",
                target: document.querySelector('#canvanCode')
            },
            decoder : {
                readers : ["ean_reader",'code_39_reader'],
                debug: {
                    drawBoundingBox: false,
                    showFrequency: false,
                    drawScanline: false,
                    showPattern: false,
                },
                multiple: false
            }
        }, ()=>{
            //打开摄像头
            Quagga.start();
            Quagga.onDetected(function(data){
                console.log(data.codeResult.code);
                //data.codeResult.code就是摄像头扫描出的商品条形码
                
				//Tip:只要摄像头一识别到条形码就会显示在控制台,有时候一识别就显示十几行条形码,所以我们可以使用节流,减少扫码的次数。
            });
        });
    </script>
</body>
</html>

遇到浏览器不显示摄像头的情况下,可以看看浏览器的摄像头是否允许开启。(小编的是谷歌浏览器)
在这里插入图片描述
Tip:扫描的条形码最好不要使用比较小,难看清的,最好是白底黑字的条形码,例如烟盒上的条形码。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
qrcode.js 不支持直接调用手机摄像头扫描二维码,因为它本身是一个用于生成和解析二维码的 JavaScript ,无法直接访问摄像头。 如果需要在移动设备上调用摄像头扫描二维码,可以使用一些第三方的 JavaScript ,如 ZXing 或 QuaggaJS。 以下是一个使用 QuaggaJS 调用摄像头扫描二维码的示例代码: ```javascript // 引入 QuaggaJS import Quagga from 'quagga'; // 获取视频元素和结果元素 const video = document.getElementById('video'); const result = document.getElementById('result'); // 初始化 QuaggaJS Quagga.init({ inputStream : { name : &quot;Live&quot;, type : &quot;LiveStream&quot;, target: video }, decoder : { readers : [&quot;code_128_reader&quot;, &quot;ean_reader&quot;, &quot;ean_8_reader&quot;, &quot;code_39_reader&quot;, &quot;code_39_vin_reader&quot;, &quot;codabar_reader&quot;, &quot;upc_reader&quot;, &quot;upc_e_reader&quot;, &quot;i2of5_reader&quot;] } }, function(err) { if (err) { console.log(err); return; } console.log(&quot;QuaggaJS initialization succeeded&quot;); // 开始扫描 Quagga.start(); // 监听扫描到的二维码 Quagga.onDetected((data) => { result.textContent = data.codeResult.code; }); }); ``` 在上述代码中,我们首先引入了 QuaggaJS ,然后获取了视频元素和结果元素。接着,我们使用 `Quagga.init()` 方法初始化 QuaggaJS,将视频元素作为输入流,并指定需要识别的二维码类型。初始化完成后,我们使用 `Quagga.start()` 方法开始扫描,同时使用 `Quagga.onDetected()` 方法监听扫描到的二维码,将解码结果显示在结果元素中。 需要注意的是,使用 QuaggaJS 调用摄像头扫描二维码需要浏览器支持 WebRTC 技术,因此在一些老旧的浏览器上可能无法正常工作。另外,在移动设备上使用摄像头扫描二维码时,需要请求用户授权访问摄像头。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值