我可以同时录制多个通道,使用mediarecorder或audiorecord?我想要的是能够同时录制MediaRecorder.AudioSource.Voice_uplink和Voice_downLink。可以分为两个单独的文件或具有两个通道的同一文件。我尝试使用两个单独的mediarecorder实例。但只有第一个记录。第二个表示输入不可用。我也试图同时使用一个MediaRecorder和一个audiorecord。同样,两者都是单独的,但是当Audiorecord启动后,当AudioreCorder启动后,显示了以下错误。

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实例?

有帮助吗?

解决方案

根据我的知识,audiorecording是一种同步方法。所以你不能在同一时间使用两次录制。

当您的代码进行第二个录制过程时,它显示错误生成棘手码代码纯粹意味着记录通道已经忙于第一个。 然而,这可以通过以特定时间量的第一线程记录的方式并行处理两个线程来实现两个线程。当控制通过两个第二线程时,第一线程停止录制,第二个开始录制,反之亦然。但根据移动设备,这将变得更加复杂。更好地你一次录制一个频道。

您可以创建一个录制队列,这将逐个录制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top