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

最佳答案

如果您选择将DEFAULT中的MICMediaRecorder.AudioSource作为输入,那么连接到手机的TRRS插头将自动用作输入,而不是内置麦克风。

但是您有两点要牢记三件事:

1) channel 数

TRRS插头的耳机左声道和右声道有两条线,而外部麦克风只有一条线(请参阅例如this description of the plug)。因此,您只能进行单声道录音(当前唯一的智能手机异常(exception):Sony Z2具有新的TRRRS插头)。您可以自行构建适配器(例如,参见the pictures here)。

2)级别

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

3)信号操纵

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

10-07 19:27
查看更多