HarmonyOS 鸿蒙Next 使用customScan扫码组件在Matepad设备上显示黑屏

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用customScan扫码组件在Matepad设备上显示黑屏 代码如下:


 XComponent({
 id: 'componentId',
 type: XComponentType.SURFACE,
 controller: this.mXComponentController
 })
 .onLoad(async () => {
 // 获取XComponent组件的surfaceId
 this.surfaceId = this.mXComponentController.getXComponentSurfaceId();
 let viewControl: customScan.ViewControl = {
 width: this.cameraWidth,
 height: this.cameraHeight,
 surfaceId: this.surfaceId
 };
 // 扫码结果放置到回调中处理
 try {
 customScan.start(viewControl).then((scanResult: Array<scanBarcode.ScanResult>) => {
 console.info('customScan: success');
 }).catch((error: BusinessError) => {
 console.info('customScan: failed ' + error.message);
 })
 } catch (error) {
 console.info('customScan: failed: ' + error.message);
 }
 })
 .height(this.cameraHeight)
 .width(this.cameraWidth)
 .position({ x: 0, y: 0 })
 }
 .height('100%')
 .width('100%')

报错日志:

failed Internal error. The width and height of viewcontrol do not match the width and height supported by the camera.

更多关于HarmonyOS 鸿蒙Next 使用customScan扫码组件在Matepad设备上显示黑屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

从报错日志来看是说 设置的宽高不匹配相机支持的宽高,ViewControl的width和height需和XComponent的保持一致,start接口根据设置宽高值会匹配最接近相机分辨率,当未匹配到合适分辨率,接口会返回1000500001内部错误 参考地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/scan-customscan-api-V5#section447114223245

分辨率不匹配:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/scan-error-code-V5#section426050132916

在设置start接口的viewControl参数时,width和height与XComponent的宽高值相同,start接口会根据XComponent的宽高比例从相机的分辨率选择最优分辨率,当前支持的分辨率比例为16:9、4:3、1:1。竖屏场景下,XComponent的高度需要大于宽度,且高宽比在支持的分辨率比例中。横屏场景下,XComponent的宽度需要大于高度,且宽高比在支持的分辨率比例中。

更多关于HarmonyOS 鸿蒙Next 使用customScan扫码组件在Matepad设备上显示黑屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对“HarmonyOS 鸿蒙Next 使用customScan扫码组件在Matepad设备上显示黑屏”的问题,可能的原因及解决方案如下:

  1. 组件兼容性问题:customScan扫码组件可能未完全适配鸿蒙Next系统或Matepad设备的硬件环境。建议检查该组件的官方文档或更新记录,确认是否支持当前的系统版本和设备型号。

  2. 权限设置问题:扫码功能通常需要相机权限。请确保应用已正确申请并获得了相机权限。可以在应用的权限管理页面进行检查和设置。

  3. 系统或应用异常:鸿蒙系统或应用本身可能存在异常,导致组件无法正常工作。尝试重启设备或重新安装应用,看是否能解决问题。

  4. 组件内部错误:如果以上步骤均无法解决问题,可能是customScan组件内部存在错误。建议联系组件的开发者或提供商,获取更专业的技术支持。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。他们将为您提供进一步的帮助和解决方案。

回到顶部