OpenHarmony开发者论坛

标题: OpenHarmony 如何关联VideoEncoder的surface到Camera的VideoOutput? [打印本页]

作者: leohe    时间: 2023-12-27 09:27
标题: OpenHarmony 如何关联VideoEncoder的surface到Camera的VideoOutput?
[md]# 背景

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使用?
[/md]
作者: Boom1122    时间: 2024-4-23 17:34
在C++层创建和配置一个OHNativeWindow,然后将其与ARKTS层的VideoOutput关联试一下




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5