本文原创发布在华为开发者社区。
介绍
本示例基于OpenGL对相机流进行处理操作,然后通过Xcomponen渲染显示相机,实现相机的录制、播放视频功能。
基于OpenGL渲染相机流源码链接
效果预览

使用说明
使用OpenGL的相关能力,需要添加相关动态链接库和头文件。
实现思路
- 添加XComponent组件,在native侧通过OH_NativeXComponent_RegisterCallback注册XComponent回调;
- 在napi 接口init的时候在Xcomponent的OnSurfaceCreatedCB回调中初始化渲染线程,通过OH_NativeImage_Create创建nativeImage;
- 通过OH_NativeImage_GetSurfaceId获取surfaceID并传递到arkts侧;
- 通过OH_NativeImage_SetOnFrameAvailableListener设置帧可用回调,通过NativeVsync接收系统信号,控制渲染;
- 通过OH_NativeImage_UpdateSurfaceImage获取最新帧更新相关联的OpenGL ES纹理,通过eglSwapBuffers将纹理渲染上屏