![如何通过编程测试扬声器是否正在播放声音?](https://linux22.com/image/1418737/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E7%BC%96%E7%A8%8B%E6%B5%8B%E8%AF%95%E6%89%AC%E5%A3%B0%E5%99%A8%E6%98%AF%E5%90%A6%E6%AD%A3%E5%9C%A8%E6%92%AD%E6%94%BE%E5%A3%B0%E9%9F%B3%EF%BC%9F.png)
由于没有麦克风可以检测到声音,有没有办法确定扬声器是否正在播放声音。
我有一个在 ARM 目标板上运行 Linux 的嵌入式系统。我想设计一个开机自检装置来检测扬声器是否正在播放声音。
请建议是否可以以编程方式完成,因为仅从加载的声音模块返回值并不能始终确认这一点。
感谢您的任何建议。
答案1
sox stats ..
似乎是检测水平的一种方法,假设您可以选择运行sox
。
IE
- 使用软件(sox?)对 ARM 目标板的声音输出进行采样,
如果没有麦克风,这可能需要使用特殊电缆。 - 运行
sox stats ...
生成的声音文件。
对于较低级别的要求:基于运算放大器构建的简单电平检测器,可能可以用几个组件构建具有电平平均和触发电平采样和保持功能的检测器。