收藏
回答

如何解决调用onCameraFrame报错?

const listener = context.onCameraFrame()的时候报如下错,导致listener没跑进去

(in promise) MiniProgramError

{"errMsg":"start:fail onCameraFrame is not supported on your device"}

基础版本:2.21.0,微信版本:8.0.16,手机型号:iPhone 12 pro,系统版本:iOS 15.0.2

wx.initFaceDetect({
      success: res => {
        console.log(res)
        const context = wx.createCameraContext()
        const listener = context.onCameraFrame((frame) => { //这里直接报错
          console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height) //没有到这一步
          wx.faceDetect({
            frameBuffer: frame.data,
            width: frame.width,
            height: frame.height,
            enablePoint: true,
            enableConf: true,
            enableAngle: true,
            enableMultiFace: true,
            success: (faceData) => {
              console.log(faceData)
              let face = faceData.faceInfo[0]
              if (faceData.x == -1 || faceData.y == -1) {
                this.tipsText = '检测不到人脸'
              }
              if (faceData.faceInfo.length > 1) {
                this.tipsText = '请保证只有一人做认证'
              } else {
                if (face.angleArray.pitch >= 0.1 || face.angleArray.roll >= 0.1 || face.angleArray.yaw >= 0.1) {
                  this.tipsText = '请平视摄像头'
                } else if (face.confArray.global <= 0.8 || face.confArray.leftEye <= 0.8 || face.confArray.mouth <= 0.8 || face.confArray.nose <= 0.8 || face.confArray.rightEye <= 0.8) {
                  this.tipsText = '请勿遮挡五官'
                } else {
                  this.tipsText = '人脸认证成功'

                  // 这里可以写自己的逻辑了
                }
              }
            },
            fail: (err) => {
              console.log(err)
              if (err.x == -1 || err.y == -1) {
                this.tipsText = '检测不到人脸'
              } else {
                this.tipsText = '网络错误,请退出页面重试'
              }
            }
          })
        })
        listener.start()
      },
      fail: res => {
        console.log(res)
      }
    })


回答关注问题邀请回答
收藏

3 个回答

  • nature
    nature
    2023-04-24

    都2023年了 怎么还没解决啊

    2023-04-24
    有用
    回复
  • 清蒸鱼
    清蒸鱼
    2021-11-18

    -有测过其他设备吗,比如安卓的

    2021-11-18
    有用
    回复 2
    • 不艮人
      不艮人
      2021-11-18
      安卓机报另外一个错,如上面“社区技术运营专员-CJiang”回答中报的错一样
      2021-11-18
      回复
    • 不艮人
      不艮人
      2021-11-18
      ios的其它机型也是这个错
      2021-11-18
      回复
  • Cjiang
    Cjiang
    2021-11-17

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2021-11-17
    有用
    回复 5
    • 不艮人
      不艮人
      2021-11-17
      基础版本:2.21.0,微信版本:8.0.16,手机型号:iPhone 12 pro,系统版本:iOS 15.0.2
      代码片段:https://developers.weixin.qq.com/s/xYT6WSmJ75uN
      2021-11-17
      回复
    • Cjiang
      Cjiang
      2021-11-18回复不艮人
      这边试了直接是报了这个错。
      2021-11-18
      回复
    • 不艮人
      不艮人
      2021-11-18回复Cjiang
      这个错误在安卓机下都报这个错,也是一个bug,我在本社区中看到有这个错是因为开发工具原因,开发工具回退一个版本即可。
      2021-11-18
      回复
    • Cjiang
      Cjiang
      2021-11-19回复不艮人
      iphone 是直接闪退了
      2021-11-19
      回复
    • 波
      2021-12-22回复不艮人
      用iphone7plus运行你的这个代码片段,也是报:start:fail onCameraFrame is not supported on your device。
      2021-12-22
      回复
登录 后发表内容