HarmonyOS 鸿蒙Next getSupportedSizes()获取的相机设备支持的分辨率与实际情况不符

HarmonyOS 鸿蒙Next getSupportedSizes()获取的相机设备支持的分辨率与实际情况不符 cke_858.png

cke_1245.png

如上图所示,输出相机设备对应所有格式支持的分辨率列表。

疑问①:为何H.264和H.265支持的分辨率列表都为空?在录像的音视频配置中,编码只有三种选择:H.264、HEVC(H.265)、默认(默认为H.264),而只要将分辨率设置为上图绿色范围,仍然可以以H.264和H.265正常录制视频。

cke_47018.png

疑问②:输出的所有支持分辨率列表中,有值的最大都显示支持4608*3456,但是将此数值设置到宽高中后就会闪退,实际并不支持。经测试,上图红色范围内的“可支持分辨率”都会造成闪退,且报错显示Surface不能为空。

另外我使用系统相机录像测试,其默认分辨率为上图蓝色框部分:3840*2160,且将此分辨率设置到音视频配置宽高中可以正常录制。但此分辨率既不是支持列表中的最大分辨率也不是最小分辨率,而且列表中显示支持的最大分辨率实际情况是并不支持,那我如何让设备在录像时按设备支持的最大录像分辨率进行录制?


更多关于HarmonyOS 鸿蒙Next getSupportedSizes()获取的相机设备支持的分辨率与实际情况不符的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

楼主您好,问题已交给研发定位,请耐心等待

更多关于HarmonyOS 鸿蒙Next getSupportedSizes()获取的相机设备支持的分辨率与实际情况不符的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


欢迎开发小伙伴们进来帮帮楼主

针对帖子标题中提到的问题“HarmonyOS 鸿蒙Next getSupportedSizes()获取的相机设备支持的分辨率与实际情况不符”,可能的原因及解决方案如下:

  1. 驱动或系统更新:首先确认鸿蒙系统版本及相机驱动是否为最新,有时系统或驱动的更新会修复此类问题。

  2. 硬件兼容性:检查相机硬件是否与当前鸿蒙系统版本完全兼容。某些老旧或特定型号的相机可能在最新系统中存在兼容性问题。

  3. API调用限制:了解getSupportedSizes()方法的具体实现和限制。在某些情况下,该方法可能无法返回所有可用的分辨率选项,特别是当相机硬件或系统有特定要求时。

  4. 权限问题:确保应用已正确获取相机权限,且用户已授权。权限不足可能导致无法正确获取相机支持的分辨率。

  5. 代码检查:仔细检查调用getSupportedSizes()的代码实现,确保没有逻辑错误或误解API的用法。

  6. 日志分析:查看系统日志和相机日志,可能包含有关分辨率不匹配问题的详细信息。

如果以上方法均未能解决问题,可能是系统深层次的bug或特定设备的问题。此时,如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部