收藏
回答

canvasPutImageData在小米5报invalid data form

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvasPutImageData 微信iOS客户端 7.0.6 2.8.0

canvasPutImageData在小米5手机上报invalid data format错误

new Uint8ClampedArray(frame.data)得到的onCameraFrame视频流数据

已知小米mix2,华为p30,苹果8,苹果5都可以正常使用

怀疑是方法自身的适配问题,请官方核查一下

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

2 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-08-15

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

    2019-08-15
    赞同
    回复 3
    • 木头
      木头
      2019-08-29
      https://developers.weixin.qq.com/s/mpdqEZmC7Wan
      2019-08-29
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      2019-08-29回复木头
      在你新帖跟进吧
      2019-08-29
      回复
    • 木头
      木头
      2019-08-29
      好的
      2019-08-29
      回复
  • 木头
    木头
    2019-08-29

    initCameraContext() {

    try {

    this.data.listener = wx.createCameraContext().onCameraFrame((frame) => {

    // 只取一张相机帧

    try {

    this.data.listener.stop();

    } catch (e) {

    this.data.listener.stop();

    }

    // 停止扫描线动画

    this.stopScanLineMove(true);

    console.log('拿到相机流图,准备开始画:',Date.now()-this.data.testData)

    this.data.testData = Date.now();

    // 把相机帧完整的画在canvas上

    this.drawImageInCanvas(new Uint8ClampedArray(frame.data));

    })

    } catch (e) {

    wx.showModal({

    title: '提示',

    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'

    })

    }

    },

    // 把与相机视图区域对应的相机帧画在canvas上

    drawImageInCanvas(parsedFrameData) {

    console.log('Uint8ClampedArray:',Date.now()-this.data.testData)

    this.data.testData = Date.now();

    wx.canvasPutImageData({

    canvasId: 'myCanvas',

    data: parsedFrameData,

    x: 0,

    y: 0,

    width: 480,

    height: 640,

    success: () => {

    console.log('画到画布上了,准备裁剪拿图片:',Date.now()-this.data.testData)

    this.data.testData = Date.now();

    this.clipCanvasImage();

    },

    fail: (err) => {

    console.log('fail1', err);

    this.startScanTimeout1();

    // 恢复扫描线动画

    this.stopScanLineMove(false);

    wx.showToast({

    title: 'fail1',

    icon: 'none'

    })

    }

    });

    },


    2019-08-29
    赞同
    回复
登录 后发表内容
问题标签