我正在构建一个使用WebRTC的增强现实应用(使用Google Cardboard)(我使用pristine.io的已编译源)将相机预览流式传输到网络客户端。用户应该能够看到"通过"相机。
我的问题是:为了让用户能够透过相机看,我需要使用{{1}的实例将相机预览渲染到SurfaceTexture
(用于虚拟现实视图)上}。这本身很容易(并且已经完成),但是WebRTC已经创建了camera
的实例(在一个名为camera
的类中),其中两个同时显然不起作用。此外,VideoCapturerAndroid
有一个私有构造函数(并提供工厂方法),并且没有相机字段的Getter。因此,我无法通过字段设置预览纹理...
我试图找到源代码,只能更改该类(例如创建一个Getter),但没有成功。
我还想过创建一个VideoCapturerAndroid
来渲染WebRTC库正在绘制的GLSurfaceView.Renderer
到GLSurfaceView
(在此解释:https://coderwall.com/p/6koh_g/rendering-any-android-view-directly-to-an-opengl-texture),但渲染器是已经在SurfaceTexture
设置,根据文档,您只能设置一次视图的渲染器。
有没有人知道如何访问VideoRendererGui
中的相机字段或在其他位置获取预览数据以将其呈现在VideoCapturerAndroid
上?