我打算在Android 4.4.2设备上录制立体声音频。但是,通过简单录制App(使用AudioRecord)录制的音频与提供的配置不匹配。如果设备使用默认配置值,我希望在logcat中看到错误消息,但我可以看到提供的值似乎被AudioHardware和AudioPolicyManagerBase接受。
目前的配置:
recorder = new AudioRecord(Media.Recorder.MIC,
sampleRate,
AudioFormat.CHANNEL_IN_STEREO,
AudioFormat.ENCODING_PCM_16BIT,
audioBufferSizeInBytes);
更改Media.Recorder.AudioSource已经提出了尝试解决此问题的选项;但这并未改变Android堆栈的行为方式 - 除了(理解上)配置无效时无法加载记录器。
更改SampleRate也显示输出没有明显变化 - 44.1kHz和16kHz都是有效选项,但是在检查时都会产生16kHz音频。输出音频也似乎是一个上混音频的音频通道。
TinyALSA / Tinycap可用于捕获音频,这看起来像预期的那样。
这可能是Android Stack中的一个问题吗?或者这更可能是OEM提供的代码的问题?