在Android中通过耳机插孔输入音频?

时间:2014-07-16 07:17:08

标签: android audio signal-processing audio-recording

我正在尝试通过耳机插孔为我的最后一年项目提供音频输入。如果有人可以共享有关如何捕获数据的代码,那将是一个很大的帮助。我一直在尝试,但由于我对Android很新,我无法在MediaRecorder.AudioSource中找到任何耳机插孔的API ......只有这些来源可用:http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html

1 个答案:

答案 0 :(得分:8)

如果您选择例如来自DEFAULT的{​​{1}}或MIC作为输入,然后连接到手机的TRRS插头将自动用作输入而不是内置麦克风。

但你有两个记住三件事:

1)频道数量

TRRS插头有两条线用于耳机的左右声道,但只有一条线用于外部麦克风(参见例如this description of the plug)。所以你只能进行单声道录音(目前唯一的智能手机例外:索尼Z2有一个新的TRRRS插头)。您可以自己构建适配器(请参阅例如the pictures here)。

2)等级

您无法连接例如一个CD播放器直接输入。你需要使用例如一个电阻分压器,用于降低输出电平,以避免过载。

3)信号处理

通常,固件中存在智能手机制造商相关的花式信号处理,如自动增益控制(AGC)和/或均衡,噪声抑制,回声消除。您无法将其关闭,因此您无法获得输入信号的完美副本。