HarmonyOS鸿蒙Next相机管理 (CC++) 文档接口使用错误

HarmonyOS鸿蒙Next相机管理 (CC++) 文档接口使用错误 【问题描述】 :删除CameraManager实例的接口是OH_Camera_DeleteCameraManager不是delete

【问题现象】: 文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/native-camera-device-management cke_908.png


更多关于HarmonyOS鸿蒙Next相机管理 (CC++) 文档接口使用错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

开发者您好,文档已修复,请打开文档进行查验。感谢您的理解与支持。

更多关于HarmonyOS鸿蒙Next相机管理 (CC++) 文档接口使用错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


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

您的错误常见于以下原因:1. 未正确创建CameraManager实例,需使用CameraManager::Create(context)传入有效的OHOS::AbilityRuntime::Context。2. 调用GetCameraIdsCreateCameraInput时传入的Profile参数类型不匹配(如分辨率、格式)。3. 未在OnCameraStatus回调中正确处理状态变更。请严格对照文档中的参数类型和生命周期顺序。

文档中示例代码使用了 C++ delete 操作符释放 CameraManager,但实际上 HarmonyOS 原生相机 C API 要求使用 OH_Camera_DeleteCameraManager 销毁实例,不能混用。正确释放代码如下:

// 错误写法(文档误用)
// Camera_Manager *cameraManager = ...;
// delete cameraManager;

// 正确写法
Camera_ErrorCode ret = OH_Camera_DeleteCameraManager(cameraManager);
if (ret != CAMERA_OK) {
    // 处理错误
}

所有由 OH_Camera_GetCameraManager 返回的对象都必须通过对应的 Delete 函数释放,否则会造成资源泄漏或崩溃。

回到顶部