0

自从试图从麦克风获取原始音频流以来,我一直在苦苦挣扎。我正在尝试不同的方式:使用双簧管库(AAudio 和 OpenSL ES 实现)和 Android 的 AudioRecord Java 类的低级 JNI 方式。

我面临的问题是我无法检索接近 -/+1.0 的幅度,同时确保使用具有如此高幅度的校准纯音使麦克风输入饱和。我认为问题在于我无法有效地禁用 AndroidOS 的信号预处理(自动增益控制或降噪)。

AutomaticGainControl.create(id).setEnabled(false)

(不工作!)

此外,似乎也无法禁用任何其他麦克风而不是“选定”的麦克风(就像选择setPreferredDeviceonAudioRecord实例一样)。用作音频源:未处理、mic、voice_recognition。

反正有这样做还是我错过了什么?

谢谢

4

1 回答 1

0

您使用哪个音频源进行录音?VOICE_RECOGNITION 或 UNPROCESSED 被强制默认不启用任何预处理(即参见https://source.android.com/compatibility/10/android-10-cdd#5_11_capture_for_unprocessed),因此允许您检查信号路径.

于 2020-02-19T23:21:27.910 回答