好的,我已经审核了实施Android MediaMux的Fadden's example。我不知道如何让我的场景进入MP4多路复用编解码器的表面输入。我正在研究一种音频处理器,它会消耗音频和视频I / O,因此MediaRecord会失败,但MediaMux听起来像是一个可行的解决方案。
从编解码器创建一个inputSurface:
videoInputSurface = codec.createInputSurface();
我已经实现了openGLSurfaceView。我只需通过调用:
即可从视图中获取曲面myGLSurface = myGLView.getHolder().getSurface();
但这并未设定表面。它只是抓住它。有没有一种简单的方法可以让myGLSurface写入videoInputSurface。
为了使事情更复杂,我将cameraPreview添加到同一个视图组,vg,myGLView被写入:
vg.addView(mCameraPreview);
将myGLView设置为透明,以便将openGL场景叠加在cameraPreview的顶部。
myGLView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
有没有一种简单的方法来获取vg的表面元素?简单地将正在写入的内容写入编码解码器的videoInputSurface上的vg帧?
谢谢,