接入身份证检测能力的时候,碰到一个卡死闪退的问题。参考了以下文档中的代码示例
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/idcard.html
如图中注释说明frameBuffer参数,类型可以是ArrayBuffer,Uint8ClampedArray,RGBA三种,并且提示可以通过context.getImageData 获取。
实机测试:
1、cameraContext.takePhoto方法获取了图片,因为要进行身份证识别,先按文档示例使用canvas中转获取ImageData
2、使用canvas的context.getImageData方法获取的ImageData对象(data部分是Uint8ClampedArray类型),作为frameBuffer使用,安卓机会导致小程序卡死,iOS会微信立即闪退,实机调试控制台拿不到任何错误输出。
3、将获取的ImageData数据,提取拼装为{frameBuffer:imageData.data.buffer , height: imageData.height, width:imageData.width },作为frameBuffer使用就正常了。
所以这个应该是不能是Uint8ClampedArray类型吧?
