2014-02-25 38 views
0

有没有办法在Ubuntu中确定是否有设备插入音频和麦克风插孔?如何以编程方式确定设备是否连接到音频插孔?

我搜索了这个,我发现的所有答案都与检测插头或拔下插头的动作有关。我需要知道是否有可能确定设备是否已连接。原因是我们做了大量的自动化测试,我们的一些测试依赖于连接到机器上的设备。我们希望我们的测试足够聪明以检测设备或没有,以便他们可以相应地进行操作。

如果有解决方案,我最终希望将它移植到OS X和Windows,如果可能的话。

感谢

回答

1

假设你真的是音频插孔,而不是USB设备:这些都是纯机械/电气连接和音频硬件设置不报到东西是否连接与否。

您可以尝试监视麦克风上的音频并查看是否存在背景噪音信号。之后,您可以尝试通过扬声器播放音调或一组音调,并查看麦克风是否拾取它们。 (如果这是耳机,可能不会,但是对于你的测试环境,你应该能够指定什么设备被连接起来。)但除了那种“尝试看看”之外,我认为你运气不好。

+0

你会错的。实际上,许多编解码器可以测量连接到音频输入和输出的设备的阻抗,而无需在音频插座中额外添加一对触点。在用户空间中获取信息的任何标准方式肯定(并且可能仍然)缺失。我已经看到支持它的Linux编解码器驱动程序,但对检测到的事件无能为力。 – marko

+0

有点令人惊讶,但有趣。答案仍然归结为“除非你想在驾驶员层面上工作,或者在实际水平上进行测试,否则你不能”,尽管如此。 – keshlam

相关问题