Web相机和浏览器的二维码扫描方案

news/2024/11/19 9:33:19/

Web相机和适用于浏览器的二维码扫描方案

qr-camera

在线体验 | English

功能

  1. 支持浏览器扫描二维码
  2. 支持拍照
  3. 支持录像功能
  4. 支持二维码解析和生成

quickstart

npm i qr-camera
import {QRCamera} from 'qr-camera';function main(){const camera = new QRCamera();document.body.appendChild(camera.video);console.log(await camera.scanQrcode());
}
main();

CDN

<script src="https://unpkg.com/qr-camera"></script>
<script>function main(){const camera = new QRCamera();document.body.appendChild(camera.video);console.log(await camera.scanQrcode());}main();
</script>

API

1. QRCamera

const camera = new QRCamera(options);

options:

interface Options {video?: HTMLVideoElement; // 自定义video元素size?: { // video 元素宽高width: number;height: number;},useAudio?: boolean; // 是否开启音频cameraId?: string; // 指定摄像头启动
}

2. getCameras

获取摄像头列表

const cameras = await camera.getCameras();

3. switchCamera

切换摄像头

const result = await camera.switchCamera(cameraId); // 指定摄像头
const result = await camera.switchCamera(); // 切换下一个摄像头

4. scanQrcode

开启识别二维码

const content = await camera.scanQrcode({gap: 500 // 识别间隔,单位ms,默认为500ms
});
stopScanQrcode

停止识别二维码

camera.stopScanQrcode();

4. photo

拍照

const url = await camera.photo({base64: false, // 是否返回base64download: false, // 是否自动下载name: 'photo', // 下载的文件名
});

5. record

录像

const url = await camera.record({time: undefined, // 录像时长,默认为不限制,直到调用停止录像为止download: false, // 是否自动下载name: 'video', // 下载的文件名
});
pause
camera.pauseRecord();
camera.resumeRecord();
camera.recordPaused;
stop
camera.stopRecord();

qrcode

二维码能力请参考 tc-qrcode

import {qrcode} from 'qr-camera';

http://www.ppmy.cn/news/1211613.html

相关文章

安卓常见设计模式14------单例模式(Kotlin版)

1. W1 是什么&#xff0c;什么是单例模式&#xff1f;​ 单例模式属于创建型模式&#xff0c;旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。单例模式的核心思想是限制类的实例化&#xff0c;使得系统中只有一个共享的实例。 2. W2 为什么&#…

SpringBoot 项目公共字段填充

[公共字段自动填充] 核心&#xff1a;在切面类中捕获需要填充公共字段的 Mapper 方法&#xff0c;方法上使用注解加以标识&#xff0c;通过反射拿到需要填充的字段赋值方法&#xff0c;进行赋值操作 1、自定义注解 AutoFill Target(ElementType.METHOD) Retention(RetentionPo…

Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib

一、环境 使用的环境是Win10,Visual Studio 2019,Cmake3.28,cdua 11.7&#xff0c;cudnn 8.5,如果只是在CPU环境下使用&#xff0c;则不用安装CUDA。要使用GPU处理&#xff0c;安装好CUDA之后&#xff0c;要测试安装的CUDA是否能用。不能正常使用的话&#xff0c;添加一下系统…

CSS的初步学习

CSS 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结 构分离. CSS 就是 “东方四大邪术” 之化妆术 CSS 基本语法规范: 选择器 若干属性声明 选择器决定针对谁修改 (找谁) 声明决定修…

EM@比例恒等式@分式恒等式

文章目录 比例恒等式(分式恒等式)分式等式链例 比例恒等式(分式恒等式) 设 a b c d \frac{a}{b}\frac{c}{d} ba​dc​(0)令这个比值为 k k k,则 a k b akb akb(0-1), c k d ckd ckd(0-2),以下恒等式在表达式有意义的情形下成立(例如分母不为0) 合比定理: a b b c d d \f…

各种ui框架的 form校验 validator获取不到value

// form-item 配置prop prop"user.name" // rules rules: {user.name: [message: "xxxxx",validator(rule, val, callback) {// val 就是user.name的值},] }如: 对象的sysUser.userName <n-form ref"formRefuser" :model"modelUser&qu…

[工业自动化-11]:西门子S7-15xxx编程 - PLC从站 - 分布式IO从站/从机

目录 一、什么是以分布式IO从站/从机 二、分布式IO从站的意义 三、ET200分布式从站系列 一、什么是以分布式IO从站/从机 在工业自动化领域中&#xff0c;分布式 IO 系统是目前应用最为广泛的一种 I/O 系统&#xff0c;其中分布式 IO 从站是一个重要的组成部分。 分布式 IO …

在线生成二维码--支持彩色二维码和包含Logo

具体请前往&#xff1a;在线二维码生成工具--可将网址等内容生成为指定大小&#xff0c;指定颜色的彩色二维码,同时支持添加Logo