如何在 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 录制麦克风同时进行视频通话