HarmonyOS 鸿蒙Next H265硬解码的解码器能力实例获取失败
HarmonyOS 鸿蒙Next H265硬解码的解码器能力实例获取失败
// 1. 获取解码器能力实例
OH_AVCapability *capability = OH_AVCodec_GetCapabilityByCategory(OH_AVCODEC_MIMETYPE_VIDEO_HEVC, false, HARDWARE);
if (capability != nullptr) {
// 2. 获取解码器名称
const char *codecName = OH_AVCapability_GetName(capability);
// 3. 创建解码器实例
decoder_ = OH_VideoDecoder_CreateByName(codecName);
CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, “Create failed”);
return AVCODEC_SAMPLE_ERR_OK;
}
代码如上,获取OH_AVCapability实例,报错
{GetCapability():124} Get capability failed
{OH_AVCodec_GetCapabilityByCategory():73} Get capabilityByCategory failed: cannot find matched capability
传入参数没问题:H265 硬 解码。
这是什么原因呢?(跟模拟器上执行有关系吗?)
1 回复
针对您提出的HarmonyOS 鸿蒙Next H265硬解码的解码器能力实例获取失败的问题,这可能是由于多种原因导致的。以下是一些可能的原因及排查思路:
- 硬件支持:首先确认您的设备硬件是否支持H265硬解码。如果硬件不支持,那么解码器实例将无法成功获取。
- 系统限制:HarmonyOS可能对H265硬解码有特定的分辨率或格式限制。如果输入的视频流不符合这些要求,可能会导致解码器实例获取失败。
- 解码器冲突:系统中可能存在其他解码器实例正在运行,导致无法再创建新的H265硬解码器实例。
- API使用错误:检查您的代码是否正确使用了HarmonyOS提供的API来创建和解码器实例。
如果以上排查思路均无法解决问题,建议您检查HarmonyOS的官方文档或更新日志,以确认是否有相关的已知问题或修复。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。