我可以使用 MediaRecorder 或 AudioRecord 同时录制多个频道吗?我想要的是能够同时录制 MediaRecorder.AudioSource.VOICE_UPLINK 和 VOICE_DOWNLINK。可以分为两个单独的文件或具有两个通道的同一个文件。我尝试使用两个独立的 MediaRecorder 实例。但只有第一个记录。第二个说输入不可用。我还尝试同时使用一个 MediaRecorder 和一个 AudioRecord。同样,两者都单独工作,但是当 MediaRecorder 启动后出现 AudioRecord 时,会显示以下错误。
05-21 03:40:42.735: E/AudioRecord(1322): Could not get audio input for record source 1
05-21 03:40:42.735: E/AudioRecord-JNI(1322): Error creating AudioRecord instance: initialization check failed.
05-21 03:40:42.825: E/AudioRecord-Java(1322): [ android.media.AudioRecord ] Error code -20 when initializing native AudioRecord object.
我还尝试将第二个 MediaRecorder 放在一个新线程上。同样的结果。所以这让我想知道是否可以同时录制。我也在考虑是否可以使用一个带有两个通道的 AudioRecord 从 VOICE_UPLINK 和 VOICE_DOWNLINK 设置两个单独的输入,但如果可能的话,我不知道如何设置源。
提前致谢
编辑:
Lucifer 的回答意味着 AudioRecord 不能在同时运行多个实例的情况下被异步调用。有谁知道可以同时录制 AudioSource.VOICE_UPLINK 和 AudioSource.VOICE_DOWNLINK 的方式?也许使用具有多个通道的单个 AudioRecord 实例?