电商网站用什么框架做,今天晚上19点新闻联播直播回放,休闲农业有哪些网络营销方式,seo推广是什么意思呢近期拿了一台 华为mate20 Pro的手机#xff0c;在运行AR示例的过程中出现了黑屏。
问题排查
SDK版本#xff1a;com.huawei.hms:arenginesdk:3.7.0.3
定位
经排查#xff0c;发现(ARCamera对象的相机内参) getImageDimensions()返回的图像尺寸的width和height都为0。 这…近期拿了一台 华为mate20 Pro的手机在运行AR示例的过程中出现了黑屏。
问题排查
SDK版本com.huawei.hms:arenginesdk:3.7.0.3
定位
经排查发现(ARCamera对象的相机内参) getImageDimensions()返回的图像尺寸的width和height都为0。 这里的期望结果是 1440 x 1080。 API参考
查阅API参考发现文档中关于getImageDimensions的描述中新增以下注意事项 转至setPreviewSize()方法描述。 解决方法
修改
根据API文档的描述在ARConfigBase创建的地方调用了config.setPreviewSize(1440,1080);
但是在后续的步骤中仍然无法通过getImageDimensions()方法获取到width、height的有效值。
思考
此前开发用的Huawei Mate 20AR示例运行正常。 这款设备既支持ARCore又支持AREngine。2018年-2020年期间华为发布的手机大都支持ARCore。 现使用Mate 20 Pro出现黑屏问题。
猜想 这可能跟设备有关支持的设备列表中的设备都是经过验证的。其它机型或许会有问题。 并未在AREngine的支持设备列表中找到’Mate 20 Pro’这型号。 AR Engine支持的设备列表
最终办法 设置输入预览流分辨率默认分辨率为1440x1080若某些机型在后续的步骤中无法通过ARCameraIntrinsics对象获取相机尺寸那就赋默认值。 ARConfig创建 config new ARWorldTrackingConfig(session);//设置输入预览流分辨率默认分辨率为1440x1080//此外还支持宽高比为4:3的物理相机预览分辨率。config.setPreviewSize(1440,1080);Texture初始化时 ARCamera arCamera frame.getCamera();ARCameraIntrinsics intrinsics arCamera.getCameraImageIntrinsics();int[] dimensions intrinsics.getImageDimensions();int width ,height ;if (ARPlatForm.isArCore()){width dimensions[0];//1440;height dimensions[1];//1080;}else{if (dimensions[0] 0 dimensions[1] 0){width 1440;height 1080;}else {width Math.max(dimensions[1],dimensions[0]);height Math.min(dimensions[1],dimensions[0]);}}cameraTexture new ExternalTexture(cameraTextureId, width, height);