我正在尝试录制(屏幕) - 设备的视频和(麦克风)音频。对于我的视频屏幕录制,我使用MediaProjection获取原始视频数据,使用MediaCodec和MediaMuxer创建视频文件,该工作正常。
现在我要添加录音,尤其是麦克风音频。为此,我使用AudioRecord类来获取设备麦克风的原始音频数据。我现在面临的问题是将所有原始流(视频和音频)与MediaMuxer一起使用,例如,它应该是同步还是异步?
因为音频和视频录制过程分为两个不同的线程,所以我不知道何时必须调用MediaMuxer的writeSampleData()方法。或者我应该首先使用MediaMuxer写入所有视频数据,然后然后音频数据?甚至可以“同时”在两个不同的线程中调用MediaMuxer吗?如何保证在多路复用期间音频和视频同步?