我正在寻找一个明确的答案,让audioRecord同时使用顶部安装和底部安装的麦克风,这样我就没有两个相同的(单声道)声道。我想知道我可以提前做什么民意调查,以确保一个小工具能提供良好的流。
我正在研究一个星系连接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)
如果有人能在nexus 5上获得立体声录音,我将非常感谢您的帮助。我应该搬到alsa还是tinyAlsa?
谢谢,j
您的问题与我的问题密切相关,答案似乎取决于设备:
1) 对于某些设备(例如,三星S2 Plus GT-I9105P、HTC One M7,HTC One M8和G3 LG-D855以及Nexus 5等),根本无法通过内置麦克风盒激活真正的立体声录音。尽管在某些情况下,制造商的摄像机应用程序可以产生真正的立体声效果,但你找不到任何其他应用程序可以做到这一点。
2) 对于一些其他设备,只有MediaRecorder.AudioSource
和例如采样率(或其他基本设置)的少数特定组合才能实现真正的立体声录制(例如摩托罗拉Moto g需要MediaRecorder.AudioSource.CAMCORDER
和48kHz采样率)。
3) 在大多数带有两个麦克风外壳的设备上,AudioFormat.CHANNEL_IN_STEREO
足以激活真正的立体声录制。
不幸的是,Alsa或tinyAlsa很可能无法在不根除设备的情况下解决问题。