SepQRCode 摄像头扫码增强
专用于摄像头实时扫码的增强测试页 · FPS 实时帧率 · 解码路径标记 · 拍照手动识别 · 扫描日志
1. 基础实时扫码
调用 SepQRCode.startScan() 启动后置摄像头实时解码。支持任意方向摆放,自动对焦并持续扫描。
等待扫码...
原始内容:
-
解码路径:
- FPS:-
2. 解码模式切换
通过 SepQRCode.decodeMode 开关强制 WASM 或 JS 解码路径,_lastDecodeBy 验证实际走线。
解码模式选择
当前模式:
auto
3. 拍照 + 手动识别
通过 controller.captureFrame() 截取当前视频帧,再用 SepQRCode.decodeAsync() 手动识别,适合光线不佳或二维码静止时精确识别。
拍照操作
4. 高级选项
调整扫描参数以适配不同场景。需在开启摄像头前设置。
连续识别失败时自动逐步放大,提高远距离识别率
光线不足时自动开启闪光灯,不支持设备提示用户
5. 扫描日志
每次识别、拍照、模式切换等操作均记录时间线,便于调试。
等待扫码操作...
6. 扫码历史
SepQRCode.scanHistory() 自动记录每次识别结果,支持复制和清空。
暂无扫码历史
详细说明
SepQRCode 摄像头扫码增强测试页,专用于验证实时扫码各项能力的边界场景。
startScan 配置项
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
facingMode | string | 'environment' | 摄像头方向:environment(后置)/ user(前置) |
interval | number | 120 | 扫描间隔(毫秒),越小越灵敏但 CPU 占用越高 |
autoZoom | boolean | false | 连续失败时自动逐步数字放大 |
zoomLevels | number[] | [1,1.5,2,3,4,6,8] | 自动放大的步进级别 |
zoomFrameThreshold | number | 5 | 连续失败多少帧后触发放大 |
autoTorch | boolean | true | 光线不足时自动开启闪光灯 |
torchFrameThreshold | number | 6 | 连续失败多少帧后触发闪光灯 |
onStatus | function | null | 状态回调:ready / suggest-torch / torch |
Controller 方法
| 方法 | 返回 | 说明 |
|---|---|---|
stop() | void | 停止扫描并释放摄像头 |
setZoom(n) | void | 手动设置数字放大倍率(1~8) |
getZoom() | number | 获取当前放大倍率 |
setTorch(on) | boolean | 手动控制闪光灯开关 |
getTorch() | boolean | 获取闪光灯状态 |
torchSupported() | boolean | 设备是否支持闪光灯 |
captureFrame(opts) | Promise<Canvas> | 截取当前视频帧(含当前 zoom) |