微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android MediaMuxer将Surface连接到Codec输入

好的,我已经回顾了实施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帧?

谢谢,

解决方法:

尝试查看this.第一个example显示如何通过编解码器输入表面上的OpenGL ES命令绘制,以通过Mediamuxer将其记录到MP4文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐