自从试图从麦克风获取原始音频流以来,我一直在苦苦挣扎。我正在尝试不同的方式:使用双簧管库(AAudio 和 OpenSL ES 实现)和 Android 的 AudioRecord Java 类的低级 JNI 方式。
我面临的问题是我无法检索接近 -/+1.0 的幅度,同时确保使用具有如此高幅度的校准纯音使麦克风输入饱和。我认为问题在于我无法有效地禁用 AndroidOS 的信号预处理(自动增益控制或降噪)。
AutomaticGainControl.create(id).setEnabled(false)
(不工作!)
此外,似乎也无法禁用任何其他麦克风而不是“选定”的麦克风(就像选择setPreferredDevice
onAudioRecord
实例一样)。用作音频源:未处理、mic、voice_recognition。
反正有这样做还是我错过了什么?
谢谢