在android中使用AudioRecord录制立体声



我正在寻找一个明确的答案,让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-I9105PHTC One M7HTC One M8G3 LG-D855以及Nexus 5等),根本无法通过内置麦克风盒激活真正的立体声录音。尽管在某些情况下,制造商的摄像机应用程序可以产生真正的立体声效果,但你找不到任何其他应用程序可以做到这一点。

2) 对于一些其他设备,只有MediaRecorder.AudioSource和例如采样率(或其他基本设置)的少数特定组合才能实现真正的立体声录制(例如摩托罗拉Moto g需要MediaRecorder.AudioSource.CAMCORDER和48kHz采样率)。

3) 在大多数带有两个麦克风外壳的设备上,AudioFormat.CHANNEL_IN_STEREO足以激活真正的立体声录制。

不幸的是,Alsa或tinyAlsa很可能无法在不根除设备的情况下解决问题。

相关内容

  • 没有找到相关文章

最新更新