HarmonyOS OH_NativeImage 的 SurfaceId 不能作为相机的 SurfaceId 进行创建 PreviewOutput 吗?

​我创建了egl环境,然后创建了Texture,然后使用这个Texture的id创建OH_NativeImage。

通过OH_NativeImage_GetSurfaceId获取 OH_NativeImage的SurfaceId传递回ts中,进行相机流程的创建,使用这个SurfaceId进行创建 PreviewOutput,调用的是 cameraManager.createPreviewOutput,但是报错了。​

[nodict]<40>GetSurface: Cannot find surface by uniqueId <private>. 
[nodict]{CreatePreviewOutput()-preview_output_napi.cpp:543} failed to get surface

​Texture、OH_NativeImage的target试了 GL_TEXTURE_EXTERNAL_OES和GL_TEXTURE_2D但都一样的错误。

请问,相机的SurfaceId不可以用OH_NativeImage 获取的SurfaceId吗?还是需要怎么转换?​

HarmonyOS
2024-11-12 08:42:32
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

​可以参考demo:​https://gitee.com/GuYueFei/harmonyOSNativeCamera/blob/master/entry/src/main/cpp/render/render_thread.cpp

注: 326行:void RenderThread::DrawImage() opengl后处理​。

分享
微博
QQ
微信
回复
2024-11-12 17:29:13
相关问题
HarmonyOS AVPlayer设置surfaceId报错
34浏览 • 1回复 待解决
现在不能直接创建.ts文件
176浏览 • 1回复 待解决
OH_NativeImage_UpdateSurfaceImage接口错误码
1706浏览 • 1回复 待解决
HarmonyOS 创建相机预览失败
613浏览 • 1回复 待解决
Xcomponent、NativeImage开发指导
1459浏览 • 1回复 待解决
如何创建相机预览输出?
153浏览 • 0回复 待解决
HarmonyOS创建前置广角相机返回undefined
455浏览 • 1回复 待解决