HarmonyOS Native C++层能否直接渲染YUV或ARGB数据至指定的surfaceID?

ts层创建Xcomponent组件,将id传入C层,C层直接将YUV或ARGB数据直接渲染在此Xcomponent组件中,此流程是否能够实现?是否有相关的样例工程代码提供或相关参考资料?

实时音视频场景,软件解码YUV数据后,将数据直接或处理后送显

阅读 464
1 个回答

可参考下列文档:

1、Xcomponent就是给开发者提供能用C接口调用gl的方法,可以参考文档(自定义渲染 (XComponent))实现YUV数据渲染,参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-common-components-xcomponent-V5

2、Native XComponent组件的使用:

https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials\_NEXT-XComponent

3、参考官方文档将视频解码再通过xcomponent送显:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/video-decoding-V5

4、示例,可以参考这个相机流通过OH\_NativeImage\_GetSurfaceId()拿到的SurfaceId拿到Native Image的surface id并在OpenGL对外接纹理进行渲染的demo:

https://gitee.com/GuYueFei/harmonyOSNativeCamera/tree/master