android中耳机输入的低电平(电压)访问

android中耳机输入的低电平(电压)访问,android,android-ndk,hardware-interface,Android,Android Ndk,Hardware Interface,android中是否有API来访问耳机硬件输入?理想情况下,我希望能够直接读取输入电压/电流。在Java或NDK中访问这个就可以了。如果有一种方法可以在没有根的手机上实现这一点,那就更好了。我还没有见过,但我不会指望它 音频输入通过带通滤波器和一些自动增益控制。您可以对音频输入进行采样,但无法确定实际电压,因为采样值取决于完整信号的频率。我还没有看到,但我不会指望它 音频输入通过带通滤波器和一些自动增益控制。您可以对音频输入进行采样,但无法确定实际电压,因为采样值取决于完整信号的频率。如果需要恢

android中是否有API来访问耳机硬件输入?理想情况下,我希望能够直接读取输入电压/电流。在Java或NDK中访问这个就可以了。如果有一种方法可以在没有根的手机上实现这一点,那就更好了。

我还没有见过,但我不会指望它


音频输入通过带通滤波器和一些自动增益控制。您可以对音频输入进行采样,但无法确定实际电压,因为采样值取决于完整信号的频率。

我还没有看到,但我不会指望它


音频输入通过带通滤波器和一些自动增益控制。您可以对音频输入进行采样,但无法确定实际电压,因为采样值取决于完整信号的频率。

如果需要恢复未通过滤波器的低频或直流分量,请尝试并验证其是否正确,你永远不知道,这里有两件事你可以试试:

使用斩波电路,该电路交替正常连接输入,然后反向连接,或者简单地交替输入与接地。在软件中,您将测量两个读数之间的差异,并应用一些预先测量的校准

使用压控振荡器制作电压-频率转换器,并在软件中测量产生的音频音调的频率,而不是其振幅,即,您将使用调频调制


对于第一种情况,如果您关心电流,则需要描述手机的输入阻抗,或者更可能使用外侧运算放大器电路为测试信号提供您想要的任何阻抗,然后从低阻抗运算放大器输出驱动手机的输入,并根据需要使用电阻器增加。一定要小心确定,不要超过手机输入的最大电压。对于第二种情况,显示的阻抗将是电压频率调制器输入的函数。

如果需要恢复未通过滤波器的低频或直流分量,请尝试并验证其是否正确,您永远不知道,然后可以尝试以下两件事:

使用斩波电路,该电路交替正常连接输入,然后反向连接,或者简单地交替输入与接地。在软件中,您将测量两个读数之间的差异,并应用一些预先测量的校准

使用压控振荡器制作电压-频率转换器,并在软件中测量产生的音频音调的频率,而不是其振幅,即,您将使用调频调制


对于第一种情况,如果您关心电流,则需要描述手机的输入阻抗,或者更可能使用外侧运算放大器电路为测试信号提供您想要的任何阻抗,然后从低阻抗运算放大器输出驱动手机的输入,并根据需要使用电阻器增加。一定要小心确定,不要超过手机输入的最大电压。对于第二种情况,显示的阻抗是电压-频率调制器输入的函数。

这很好,但首先我需要访问硬件。实际上,您不需要。我的建议都是基于java音频API可以做什么。当然,访问硬件是可能的,但是您正在进入定制平台的领域,而不是编写android应用程序。它可以像使用私有音频库一样简单,或者如果你有一个根手机,你可以做一些事情,包括更改音频驱动程序,尽管你意识到你没有源代码的无线电协处理器有效地充当了声卡。请参阅我对Lio回答的评论。我不想对手机输出的音频或任何音频API做任何事情。我想访问硬件端口,以便将其用作输入。您的回答只包括硬件讨论,这很好,肯定是我下一步要考虑的问题,但我需要能够首先捕获输入。手机输入的音频是来自端口的输入。您需要进行一些测量,以便能够应用校准将其转换回电压,这可能是特定于设备甚至序列号的。本质上,您需要将手机硬件和音频api的组合建模为传递函数,并应用该函数的逆函数。当然,除此之外,你的逆函数不能包括除以零来恢复过滤掉的频率,这就是在信号通过传递函数之前,可能需要斩波或调频调制硬件技术来改变信号,以便你能够用逆函数恢复所需的部分。这就是
这一切都很好,但首先我需要访问硬件。事实上你没有。我的建议都是基于java音频API可以做什么。当然,访问硬件是可能的,但是您正在进入定制平台的领域,而不是编写android应用程序。它可以像使用私有音频库一样简单,或者如果你有一个根手机,你可以做一些事情,包括更改音频驱动程序,尽管你意识到你没有源代码的无线电协处理器有效地充当了声卡。请参阅我对Lio回答的评论。我不想对手机输出的音频或任何音频API做任何事情。我想访问硬件端口,以便将其用作输入。您的回答只包括硬件讨论,这很好,肯定是我下一步要考虑的问题,但我需要能够首先捕获输入。手机输入的音频是来自端口的输入。您需要进行一些测量,以便能够应用校准将其转换回电压,这可能是特定于设备甚至序列号的。本质上,您需要将手机硬件和音频api的组合建模为传递函数,并应用该函数的逆函数。当然,你的倒数不能除以零来恢复过滤掉的频率,这就是斩波或调频调制硬件技术可能需要在信号通过传递函数之前改变信号,以便你能够用反函数恢复所需的部分。是的,我理解,但我正在考虑使用插孔作为输入而不是输出。所以我需要访问端口来读取电压电平Lio的回答是关于您要求的输入,而不是输出。是的,我理解,但我正在考虑使用插孔作为输入而不是输出。所以我需要访问端口来读取电压电平IO的回答是关于您要求的输入,而不是输出。