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

更多关于HarmonyOS鸿蒙Next中ROI视频编码文档函数调用错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于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视频编码函数调用错误通常由以下原因导致:
- 传入的ROI区域坐标或尺寸参数类型不匹配(需使用
MediaDescription中的OH_MD_KEY_ROI_INFO)。 - 未正确设置编码器
OH_VideoEncoder_SetParameter的OH_MD_KEY_ENABLE_ROI为true。 - 回调中
OH_AVCodecOnNeedInputData的buffer状态未同步。
检查API文档中OH_ROIInfo结构体字段与视频宽高对齐,并确保编码器处于AVCODEC_STATE_RUNNING状态后调用。
文档中 roiInfo.size 是 C++ 语法错误,应更正为 roiInfo.size() 或 roiInfo.length()。这是标准字符串成员函数调用的基本要求,与 HarmonyOS Next 平台特性无关。
