我在寻找什么
到目前为止我所尝试过的
MediaRecorder
,我可以在切换摄像机时暂停录像机,并在打开切换的摄像机时恢复录像。
从 FlipCam 存储库中,我可以看到他们正在尝试在
GLSurfaceView
上渲染相机输出,当我们开始录制时,他们使用 OpenGl 将表面视图中的帧复制到 MediaRecorder
的表面。
现在,OpenGL 是非常低级的 API,我宁愿使用一些维护较少的高级 API。
还有一种方法是我们只保存视频的临时部分,然后在最后合并。但这样做需要一些时间来处理,我希望当用户停止录制时输出几乎是即时的。
使用
MediaCodec
和 MediaMuxer
可以吗?请分享您的想法或提供任何指导路径来使用最新且相对较高级别的 Android API 来实现这一点。
Jetpack CameraX 库刚刚在其
1.3.0-rc01
版本中添加了对此功能的支持。
即使您不想采用该库,您也可以看到它如何添加此功能。我不确定 MediaRecorder 可以处理这个问题,但 MediaCodec 当然可以,最有可能使用持久表面。