6

android.view.Surface我需要在 Android 本机 C++ 代码中将解码的视频帧绘制到一个对象中。

我了解执行此操作的常用方法是实现GLSurfaceView.Renderer接口并从onDrawFrame(). 但我不能使用它,我需要将 Surface 对象传递给本机方法并从那里处理它。

我计划使用 OpenGL ES API 来完成所有渲染工作,因为它是跨平台的。但我不知道 Surface 对象是从哪里来的。

我已经看到了几个使用的例子ANativeWindow_fromSurface()。如果我没有被迫使用 OpenGL,我想我可以这样做。

那么,我在本机代码中在哪里“设置”我的 Surface 对象,所以我可以很好地渲染我的场景帧?

编辑:好的,我想我只是不知道EGL 标准,这似乎是我在本案中所需要的。

但是,我仍在寻找一种方法来将android.view.Surface对象“映射”或“转换”为由 EGL 上下文处理的任何结构,我假设它是EGLNativeWindowType,而不需要访问任何 Android 特定的 API。

提前致谢。

4

0 回答 0