我正在寻找关于使AudioRecord同时使用顶部和底部安装的麦克风的明确答案,因此我没有2个相同的(单声道)通道。我想知道自己可以做些什么以确保小工具能够提供良好的数据流。
我正在研究银河系联系5,无法使其正常工作,因此我无法在所有设备上使其稳定。
我已经尝试了所有的MediaRecorder.AudioSource
。
AudioRecord audioInputStream1 = new AudioRecord(Media.Recorder.CAMCORDER,
sampleRate, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT,
samplesPerBuffer * bytesPerSample)
并实例化两个记录:
AudioRecord audioInputStream1 = new AudioRecord(Media.Recorder.MIC,
sampleRate, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT,
samplesPerBuffer * bytesPerSample)
AudioRecord audioInputStream2 = new AudioRecord(Media.Recorder.CAMCORDER,
sampleRate, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT,
samplesPerBuffer * bytesPerSample)
如果有人在5处获得立体声录音,我将不胜感激。我应该搬到alsa还是tinyAlsa?
谢谢,
Ĵ
最佳答案
您的问题与my question密切相关,并且答案似乎与设备有关:
1)对于某些设备(例如,三星S2 Plus GT-I9105P,HTC One M7,HTC One M8,G3 LG-D855,Nexus 5 ...),根本无法通过内置麦克风激活真实的立体声录音胶囊。尽管在某些情况下,制造商的便携式摄像机应用程序可以产生真实的立体声,但您找不到其他能够做到这一点的应用程序。
2)对于其他一些设备,MediaRecorder.AudioSource
和例如采样率(或其他基本设置)可启用真实的立体声录音(例如Motorola Moto G needs MediaRecorder.AudioSource.CAMCORDER
and 48kHz sample rate)。
3)在大多数带有两个麦克风胶囊的设备上,AudioFormat.CHANNEL_IN_STEREO
足以激活真实的立体声录音。
不幸的是,如果不生根设备,Alsa或tinyAlsa很可能无法解决问题。