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