如何使用 Web Workers 和 jsQR 在 Web 浏览器中扫描二维码

在这里插入图片描述
近年来,二维码变得越来越流行。它们被广泛用于传递信息和方便签到。虽然最常见于原生移动应用程序的一部分,但您也可以将 QR 扫描整合到您的网站中。

下面介绍如何将流行的 jsQR 库与 Web Workers 结合使用,以在 Web 上提供高性能的 QR 扫描体验。我们假设您已经熟悉 JavaScript 基础知识,并且您已经拥有一个可以向其中添加代码的正常运行的站点。

1. 入门

首先以预编译的可分发格式下载jsQR 库。确保它可以在您的网络服务器上公开访问;在本文中,我们假设 URL 是/jsQR.js. 如果您配置了构建例程,jsQR 也可以作为 npm 包使用。

该软件包可实时检测视频流中可见的二维码。它检索代码中的数据并将其提供给您的应用程序。

2. 获取相机信息

下一步是从浏览器获取一个 MediaStream。使用mediaDevicesAPI 从用户的相机获取新流:

const getCamera = async () => {
   
 
    if (!navigator.mediaDevices) {
   
        throw new Error("mediaDevices API unavailable.");
    }
 
    const devices = await navigator.mediaDevices.enumerateDevices();
    const cameras = devices.filter(d => (d.kind === "videoinput"));
    return cameras[0];
 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mikes zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值