收藏
回答

使用相机组件,部分华为(荣耀)拍照失败。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug takePhoto/camera 客户端 7.0.4 2.6.6

- 当前 Bug 的表现(可附上截图)

能看到拍照的界面,但是调用 takePhoto 提示错误 operateCamera:fail:camera has not been initialized



只有部分华为(荣耀)手机出现该情况。ios正常。


如果写一个简单的demo或者官方相机组件的demo也没有问题。


- 相关代码

wxml

<view id="wrapper">
  <!-- 相机 -->
  <camera id="camera" device-position="back" flash="off" binderror="error"></camera>
  <cover-view id="customStyle">
    <!-- 点击拍摄 -->
    <cover-view class="takePhoto" bindtap="takePhoto">
      <cover-view class="inside"></cover-view>
    </cover-view>
  </cover-view>
</view>

js

Page({
  data: {
    // 图片路径
    imgUrl: ''
  },
 
  onLoad: function(options) {
    this.ctx = wx.createCameraContext()
  },
  // 拍照
  takePhoto() {
    wx.getSetting({
      success: (res) => {
        if (!res.authSetting['scope.camera']) {
          wx.openSetting({
            success(res) {
              if (res.authSetting['scope.camera']) {
                wx.navigateBack({
                  delete: 1
                })
              }
            }
          })
        } else {
          this.ctx.takePhoto({
            quality: 'high',
            success: (res) => {
              this.setData({
                imgUrl: res.tempImagePath,
                oppenPhoto: true
              })
            },
            fail: (err) => {
              console.log(err)
            }
          })
        }
      }
    })
  }
})


最后一次编辑于  2019-04-24
回答关注问题邀请回答
收藏

2 个回答

  • hexford~🐶
    hexford~🐶
    2019-04-25

    camera 组件插入后,客户端要先初始化相机。在这之前调用 take photo 等接口会失败,出现上述提示。

    下个版本增加初始化完成事件,在这之后调用就可以了。

    2019-04-25
    有用
    回复 2
    • ȏ.ȏ
      ȏ.ȏ
      2019-04-25

      原因是因为相机组件高度低于60px 才会触发这个错误。不是到和你说的有没有关系。

      2019-04-25
      回复
    • Darcy
      Darcy
      2023-12-11
      您好,请问初始化事件现在加了吗,我用华为手机现在有出现这种情况
      2023-12-11
      回复
  • 是小白啊
    是小白啊
    2019-04-23

    代码片段能复现吗?https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-04-23
    有用
    回复 3
    • ȏ.ȏ
      ȏ.ȏ
      2019-04-23

      代码片段正常运行,无法复现。

      2019-04-23
      回复
    • ȏ.ȏ
      ȏ.ȏ
      2019-04-24

      原因是因为相机组件高度低于60px 才会触发这个错误,这算一个BUG吗?

      2019-04-24
      回复
    • hexford~🐶
      hexford~🐶
      2019-04-25回复ȏ.ȏ

      高度太小现在也是会有这个bug的。

      2019-04-25
      回复
登录 后发表内容