Camera
系统相机
支持情况:

类型
ComponentType<CameraProps>
CameraProps
| 参数 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| mode | keyof Mode | "normal" | 否 | 模式,有效值为normal, scanCode |
| resolution | keyof Resolution | "medium" | 否 | 分辨率,不支持动态修改 |
| devicePosition | keyof DevicePosition | "back" | 否 | 摄像头朝向 |
| flash | keyof Flash | "auto" | 否 | 闪光灯 |
| frameSize | keyof FrameSize | "medium" | 否 | 指定期望的相机帧数据尺寸 |
| scanArea | number[] | 否 | 扫码识别区域,格式为[x, y, w, h], x,y是相对于camera显示区域的左上角, w,h为区域宽度,单位px,仅在 mode="scanCode" 时生效 | |
| onStop | CommonEventFunction | 否 | 摄像头在非正常终止时触发, 如退出后台等情况 | |
| onError | CommonEventFunction | 否 | 用户不允许使用摄像头时触发 | |
| onInitDone | CommonEventFunction<onInitDoneEventDetail> | 否 | 相机初始化完成时触发 | |
| onScanCode | CommonEventFunction | 否 | 在成功识别到一维码时触发, 仅在 mode="scanCode" 时生效 |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraProps.mode | ✔️ | ✔️ | |
| CameraProps.resolution | ✔️ | ||
| CameraProps.devicePosition | ✔️ | ✔️ | |
| CameraProps.flash | ✔️ | ✔️ | |
| CameraProps.frameSize | ✔️ | ||
| CameraProps.scanArea | ✔️ | ||
| CameraProps.onStop | ✔️ | ✔️ | |
| CameraProps.onError | ✔️ | ✔️ | |
| CameraProps.onInitDone | ✔️ | ✔️ | |
| CameraProps.onScanCode | ✔️ | ✔️ |
Mode
mode 的合法值
| 参数 | 说明 |
|---|---|
| normal | 相机模式 |
| scanCode | 扫码模式 |
Resolution
resolution 的合法值
| 参数 | 说明 |
|---|---|
| low | 低 |
| medium | 中 |
| high | 高 |
DevicePosition
device-position 的合法值
| 参数 | 说明 |
|---|---|
| front | 前置 |
| back | 后置 |
Flash
flash 的合法值
| 参数 | 说明 |
|---|---|
| auto | 自动 |
| on | 打开 |
| off | 关闭 |
| torch | 常亮 |
FrameSize
frame-size 的合法值
| 参数 | 说明 |
|---|---|
| small | 小尺寸帧数据 |
| medium | 中尺寸帧数据 |
| large | 大尺寸帧数据 |
onInitDoneEventDetail
| 参数 | 类型 | 说明 |
|---|---|---|
| maxZoom | number | 最大变焦 |