我正在尝试通过耳机插孔为我的最后一年项目提供音频输入。如果有人可以共享有关如何捕获数据的代码,那将是一个很大的帮助。我一直在尝试,但由于我对Android很新,我无法在MediaRecorder.AudioSource中找到任何耳机插孔的API ......只有这些来源可用:http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html
答案 0 :(得分:8)
如果您选择例如来自DEFAULT
的{{1}}或MIC
作为输入,然后连接到手机的TRRS插头将自动用作输入而不是内置麦克风。
但你有两个记住三件事:
1)频道数量
TRRS插头有两条线用于耳机的左右声道,但只有一条线用于外部麦克风(参见例如this description of the plug)。所以你只能进行单声道录音(目前唯一的智能手机例外:索尼Z2有一个新的TRRRS插头)。您可以自己构建适配器(请参阅例如the pictures here)。
2)等级
您无法连接例如一个CD播放器直接输入。你需要使用例如一个电阻分压器,用于降低输出电平,以避免过载。
3)信号处理
通常,固件中存在智能手机制造商相关的花式信号处理,如自动增益控制(AGC)和/或均衡,噪声抑制,回声消除。您无法将其关闭,因此您无法获得输入信号的完美副本。