我怎么能"听"内部主板扬声器上的声音

Bri*_*ach 10 python windows

我们正在使用一个非常古老的程序来驱动一些设备测试.这些测试可以运行几天,我想知道测试何时完成.当测试完成时,可执行文件会以每秒约1次的蜂鸣声连续发出主板扬声器的蜂鸣声,直到操作员干预.

有没有办法可以"听"这个嘟嘟声并在MB开始发出哔哔声时发出通知?我希望有一个sysos库可以用来表明这一点.

我们在Windows XP x86上运行.我还没有在机器上安装Python.

伪代码:

already_beeping = True

while True:
  speaker_beeping = check_speaker() # returns True or False
  if speaker_beeping == True:
    if already_beeping == False:
      send_notification()
      already_beeping = True
    else:
      pass
  else:
    already_beeping = False
  time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

ASh*_*lly 2

扬声器是否通过 2 针接头连接到主板?

如果是这样,拦截它并监视信号应该是微不足道的。首先使用示波器验证信号,然后连接某种 USB 数字 I/O 监视器 - 您应该能够计算脉冲并确定频率。(有现成的解决方案,或者一个简单的 Arduino 程序也可以)。

或者,如果您想进行真正的低级编程,请研究查询驱动扬声器的“可编程间隔定时器”芯片。特别查看回读状态字节中的“输出引脚状态” 。

您可能必须为 python 编写一个 C 扩展才能访问这些端口:请参阅此处获取一些访问芯片的 C 代码示例。