Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个视图上呈现Android MediaCodec输出,以实现VR耳机兼容性_Android_Android Mediacodec_Textureview_Virtual Reality - Fatal编程技术网

在两个视图上呈现Android MediaCodec输出,以实现VR耳机兼容性

在两个视图上呈现Android MediaCodec输出,以实现VR耳机兼容性,android,android-mediacodec,textureview,virtual-reality,Android,Android Mediacodec,Textureview,Virtual Reality,到目前为止,我所知道的是,我需要使用一个可以同时在两个TextureView上渲染的SurfaceTexture。 因此,它将是: MediaCodec->SurfaceTexture->2x TextureViews 但是我如何才能在MediaCodec中使用SurfaceTexture程序呢?据我所知,将为每个TextureView创建一个新的SurfaceTexture,因此,如果我的活动中有两个TextureView,我将获得两个TextureView!?这是一对多…;) 或者有没有其他

到目前为止,我所知道的是,我需要使用一个可以同时在两个TextureView上渲染的SurfaceTexture。 因此,它将是: MediaCodec->SurfaceTexture->2x TextureViews

但是我如何才能在MediaCodec中使用SurfaceTexture程序呢?据我所知,将为每个TextureView创建一个新的SurfaceTexture,因此,如果我的活动中有两个TextureView,我将获得两个TextureView!?这是一对多…;)


或者有没有其他方法可以将MediaCodec输出呈现到屏幕上两次?

您实际上需要两个TextureView,还是仅仅为了方便

例如,您可以使用一个覆盖整个屏幕的SurfaceView或TextureView,然后仅在左侧和右侧使用GLES进行渲染。使用SurfaceTexture中的视频输出,您可以随意渲染它。中的“摄影机纹理”活动演示了从视频源操纵图像的各种方法

如果你真的想要两个TextureView,你可以拥有它们。对SurfaceTexture和两个TextureView使用单个EGL上下文,并在渲染时使用
eglMakeCurrent()
在EGL曲面之间切换


在任何情况下,您都应该创建自己的SurfaceTexture来接收视频,而不是使用来自TextureView的SurfaceTexture——请参见,例如,您是否确实需要两个TextureView,或者这只是为了方便

例如,您可以使用一个覆盖整个屏幕的SurfaceView或TextureView,然后仅在左侧和右侧使用GLES进行渲染。使用SurfaceTexture中的视频输出,您可以随意渲染它。中的“摄影机纹理”活动演示了从视频源操纵图像的各种方法

如果你真的想要两个TextureView,你可以拥有它们。对SurfaceTexture和两个TextureView使用单个EGL上下文,并在渲染时使用
eglMakeCurrent()
在EGL曲面之间切换


在任何情况下,您都应该创建自己的SurfaceTexture来接收视频,而不是使用来自TextureView的SurfaceTexture——请参见,例如,您是否确实需要两个TextureView,或者这只是为了方便

例如,您可以使用一个覆盖整个屏幕的SurfaceView或TextureView,然后仅在左侧和右侧使用GLES进行渲染。使用SurfaceTexture中的视频输出,您可以随意渲染它。中的“摄影机纹理”活动演示了从视频源操纵图像的各种方法

如果你真的想要两个TextureView,你可以拥有它们。对SurfaceTexture和两个TextureView使用单个EGL上下文,并在渲染时使用
eglMakeCurrent()
在EGL曲面之间切换


在任何情况下,您都应该创建自己的SurfaceTexture来接收视频,而不是使用来自TextureView的SurfaceTexture——请参见,例如,您是否确实需要两个TextureView,或者这只是为了方便

例如,您可以使用一个覆盖整个屏幕的SurfaceView或TextureView,然后仅在左侧和右侧使用GLES进行渲染。使用SurfaceTexture中的视频输出,您可以随意渲染它。中的“摄影机纹理”活动演示了从视频源操纵图像的各种方法

如果你真的想要两个TextureView,你可以拥有它们。对SurfaceTexture和两个TextureView使用单个EGL上下文,并在渲染时使用
eglMakeCurrent()
在EGL曲面之间切换


在任何情况下,您都应该创建自己的SurfacetTexture来接收视频,而不是使用来自TextureView的SurfacetTexture——请参见,例如,

您看到示例了吗?是的。但如何只获得一个纹理视图?您看到样本了吗?是的。但如何只获得一个纹理视图?您看到样本了吗?是的。但如何只获得一个纹理视图?您看到样本了吗?是的。但是如何只获取一个TextureView?不,我不需要两个TextureView。我唯一需要的是屏幕两侧的MediaCodec输出。我想这是用两个TextureView实现的最简单的方法。对不起,我没有让它运行。你能提供一些源代码来用GLES!渲染左侧和右侧吗!?不,我不需要两个TextureView。我唯一需要的是屏幕两侧的MediaCodec输出。我想这是用两个TextureView实现的最简单的方法。对不起,我没有让它运行。你能提供一些源代码来用GLES!渲染左侧和右侧吗!?不,我不需要两个TextureView。我唯一需要的是屏幕两侧的MediaCodec输出。我想这是用两个TextureView实现的最简单的方法。对不起,我没有让它运行。你能提供一些源代码来用GLES!渲染左侧和右侧吗!?不,我不需要两个TextureView。我唯一需要的是屏幕两侧的MediaCodec输出。我想这是用两个TextureView实现的最简单的方法。对不起,我没有让它运行。你能提供一些源代码来用GLES!渲染左侧和右侧吗!?