HarmonyOS鸿蒙Next中ROI视频编码文档函数调用错误

HarmonyOS鸿蒙Next中ROI视频编码文档函数调用错误 【问题描述】 :在“Surface模式下通过NativeBuffer接口配置ROI”的步骤6中,roiInfo是由前期拼接获取的std::string类型变量。在C++中获取其长度需要调用成员函数size()length(),直接传递roiInfo.size属于C++基础语法错误

【问题现象】:
文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/video-encoding-roi

cke_1014.png


更多关于HarmonyOS鸿蒙Next中ROI视频编码文档函数调用错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

您好,问题已修复,可查阅官方文档确认:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/video-encoding-roi

更多关于HarmonyOS鸿蒙Next中ROI视频编码文档函数调用错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


尊敬的开发者,您好!感谢您的反馈,问题正在加速处理中,还请关注后续版本,感谢您的理解与支持。

roiInfo.size 这里确实不对。roiInfo 如果是 std::string,长度应该通过成员函数获取,传入 NAPI/NativeBuffer 参数时应写成 roiInfo.size() 或 roiInfo.length()。

size 不是 std::string 的公开数据成员,直接写 roiInfo.size 会编译不过。建议把步骤 6 中相关调用统一改为 roiInfo.size(),避免复制示例后出现 C++ 语法错误。

在HarmonyOS Next中,ROI视频编码函数调用错误通常由以下原因导致:

  1. 传入的ROI区域坐标或尺寸参数类型不匹配(需使用MediaDescription中的OH_MD_KEY_ROI_INFO)。
  2. 未正确设置编码器OH_VideoEncoder_SetParameterOH_MD_KEY_ENABLE_ROI为true。
  3. 回调中OH_AVCodecOnNeedInputData的buffer状态未同步。
    检查API文档中OH_ROIInfo结构体字段与视频宽高对齐,并确保编码器处于AVCODEC_STATE_RUNNING状态后调用。

文档中 roiInfo.size 是 C++ 语法错误,应更正为 roiInfo.size()roiInfo.length()。这是标准字符串成员函数调用的基本要求,与 HarmonyOS Next 平台特性无关。

回到顶部