我正在尝试测量两部不同手机上从扬声器到麦克风的音频路径,一部是运行 Android 2.3.5 的 htc Wildfire S,一部是运行 Android 4.0.3 的 htc One X。我使用 Eclipse 编写了一个应用程序,该应用程序使用 android.media.MediaPlayer 播放波形文件。但是,我的录音显示输出中应用了自动增益控制之类的东西,因为响亮的文件被衰减了,录音的振幅几乎相等,尽管播放的文件各自的振幅差异很大。
如何在输出之前关闭对音频数据的任何处理?我想直接控制原始音频输出。
提前致谢。
最佳答案
您是否尝试过禁用内置的 AGC 和 AEC 音频效果?更多信息,请访问 http://developer.android.com/reference/android/media/audiofx/AutomaticGainControl.html
例如:
int audioSession = ...;
if(AutomaticGainControl.isAvailable())
{
AcousticEchoCanceler agcfx = AcousticEchoCanceler.create(audioSession);
if(agcfx != null)
{
agcfx.setEnabled(false);
}
}
关于android - 如何在装有 Android 的 htc 手机上禁用音频输出处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18876214/