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 配置项

参数类型默认值说明
facingModestring'environment'摄像头方向:environment(后置)/ user(前置)
intervalnumber120扫描间隔(毫秒),越小越灵敏但 CPU 占用越高
autoZoombooleanfalse连续失败时自动逐步数字放大
zoomLevelsnumber[][1,1.5,2,3,4,6,8]自动放大的步进级别
zoomFrameThresholdnumber5连续失败多少帧后触发放大
autoTorchbooleantrue光线不足时自动开启闪光灯
torchFrameThresholdnumber6连续失败多少帧后触发闪光灯
onStatusfunctionnull状态回调: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)

7. 自动化断言