如何在 Android 中同时录制 2 个麦克风?

Posted

技术标签:

【中文标题】如何在 Android 中同时录制 2 个麦克风?【英文标题】:How can I record 2 microphone in Android simultaneously? 【发布时间】:2013-01-31 13:45:56 【问题描述】:

我正在尝试同时录制来自 2 个内置麦克风(底部、顶部)的音频信号。我可以使用

拾取底部麦克风信号
MediaRecorder.Audiosource.MIC

和顶部麦克风信号使用

MediaRecorder.AudioSource.CAMCORDER

我可以单独录制,但我想从 2 个麦克风同时录制。 有谁知道如何同时录制? 我试过 & 或 |运营商,但我只能得到 1 个频道信号。

我使用 Galaxy S2 设备。

我将不胜感激任何回应 :) 提前致谢。

【问题讨论】:

我当然不会假设MIC 是底部,CAMCORDER 是顶部,并且它们在所有设备上都是不同的。 您找到解决方案了吗?我正在尝试做同样的事情并遇到同样的问题 【参考方案1】:

存在一种误解,即在具有 2 个麦克风的设备中,在立体声模式下录制时会同时使用两个麦克风。

在我对数十种设备进行测试的 3 年经验中,我发现情况并非如此。

主麦克风单独用于单声道和立体声录音在我使用过的各种 android 设备中 - 从低成本大众型号到旗舰.

其中一个原因是主麦克风的质量更好(更灵敏、噪音更小等)并且比辅助麦克风更昂贵。

【讨论】:

【参考方案2】:

您可以通过使用 AudioRecord (http://developer.android.com/reference/android/media/AudioRecord.html) 类进行立体声录音来实现这一点。看看How to access the second mic android such as Galaxy 3。

将音频格式指定为立体声并将音频源指定为摄像机会自动在(兼容的)两个麦克风设备上选择两个麦克风,每个通道一个麦克风。

例如:

            audioRecorder = new AudioRecord(MediaRecorder.AudioSource.CAMCORDER,sampleRate,android.media.AudioFormat.CHANNEL_CONFIGURATION_STEREO,android.media.AudioFormat.ENCODING_PCM_16BIT,bufferSize);

将初始化一个新的 AudioRecord 类,该类可以从两个设备麦克风以 PCM、16 位格式的立体声录制。

有关使用 AudioRecord 录制(录制 .wav)的更多帮助,请查看:http://i-liger.com/article/android-wav-audio-recording。

【讨论】:

以上是关于如何在 Android 中同时录制 2 个麦克风?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上的 Termux 中将麦克风录制到 mp3?

如何在 iOS Safari 上使用 Daily.co 录制麦克风同时进行视频通话

在 Android 2.2 中从麦克风录制时出现奇怪的失真

如何在不录制的情况下在 Android 上对麦克风进行采样以获得实时幅度/电平?

录制 .m4a 文件 Android

从 iOS 中的所有 3 个麦克风录制