# camera

系统相机。该组件是原生组件,使用时请注意相关限制。

需要用户授权 scope.camera

属性名 类型 默认值 说明 最低版本
mode String normal 有效值为 normal, scanCode
device-position String back 前置或后置,值为front, back
flash String auto 闪光灯,值为auto, on, off
bindstop EventHandle 摄像头在非正常终止时触发,如退出后台等情况
binderror EventHandle 用户不允许使用摄像头时触发
bindscancode EventHandle 在扫码识别成功时触发,仅在 mode="scanCode" 时生效

相关api:qq.createCameraContext

# Bug & Tip
  1. 请注意原生组件使用限制
  2. tip: 同一页面只能插入一个 camera 组件。

示例:

<!-- camera.qml -->
<camera
  device-position="back"
  flash="off"
  binderror="error"
  style="width: 100%; height: 300px;"
></camera>
<button type="primary" bindtap="takePhoto">拍照</button>
<view>预览</view>
<image mode="widthFix" src="{{src}}"></image>
1
2
3
4
5
6
7
8
9
10
// camera.js
Page({
  takePhoto() {
    const ctx = qq.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        this.setData({
          src: res.tempImagePath
        })
      }
    })
  },
  error(e) {
    console.log(e.detail)
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17