OpenHarmony 如何关联VideoEncoder的surface到Camera的VideoOutput?

leohe 显示全部楼层 发表于 2023-12-27 09:27:41

背景

OpenHarmony3.2

需求描述

我打开OpenHarmony摄像头, 并希望将摄像头源的数据传给编码器的作为源输入, 进行编码.

根据官方的的接口文档,从编码器里面能够获得一个OHNativeWindow句柄.

        OHNativeWindow *nativeWindow;
        ret = OH_VideoEncoder_GetSurface(videoEnc, &nativeWindow);
        if (ret != AV_ERR_OK) {
            // 异常处理
            return OH_ENC_ERR_GET_SURFACE_ERR;
        }

在ARKTS层的摄像头源输出接口层需要的是一个surfaceid

  let videoOutput: camera.VideoOutput | undefined = undefined;
  try {
    videoOutput = cameraManager.createVideoOutput(videoProfilesArray[0], videoSurfaceId);
  } catch (error) {
    let err = error as BusinessError;
    console.error(`Failed to create the videoOutput instance. error: ${JSON.stringify(err)}`);
  }

问题

如何在C++层从OHNativeWindow句柄中获取surfaceid传给上层提供给CameraMagnager使用?

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

Boom1122

沙发 发表于 2024-4-23 17:34:27
在C++层创建和配置一个OHNativeWindow,然后将其与ARKTS层的VideoOutput关联试一下

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部