HarmonyOS Xcomponent怎么渲染视频y,u,v分量的视频数据。怎么渲染摄像头传过来的y,u,v分量的视频demo有吗?

如题:HarmonyOS Xcomponent怎么渲染视频y,u,v分量的视频数据。怎么渲染摄像头传过来的y,u,v分量的视频demo有吗?

阅读 627
1 个回答

可以在OnSurfaceChanged生命周期方法中,重新获取一下xcomponent的大小,并更新nativewindow的大小,参考代码如下:

double offsetX;
double offsetY;
// 获取XComponent持有的surface相对窗口左上角的偏移量
OH_NativeXComponent_GetXComponentOffset(component, window, &offsetX, &offsetY);
OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "OH_NativeXComponent_GetXComponentOffset",
  "offsetX = %{public}lf, offsetY = %{public}lf", offsetX, offsetY);
uint64_t width;
uint64_t height;
// 获取XComponent持有的surface的大小。
OH_NativeXComponent_GetXComponentSize(component, window, &width, &height);
UpdateNativeWindow(window, width, height);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进