如何检查声音是否从音频设备发出?

如何检查声音是否从音频设备发出?

我正在尝试检查是否有声音从我的音频设备中传出。我试过

cat /proc/asound/card*/pcm*/sub0/status

获取音频的状态,但即使没有声音播放,我也会得到这样的结果

owner_pid   : 2784
trigger_time: 12480.406201499
tstamp      : 14574.205418430
delay       : 1248
avail       : 86421
avail_max   : 86421
-----
hw_ptr      : 100504320
appl_ptr    : 100505280

我可能错误地看待这个问题,但我的最终目标是在相当长的时间内没有播放声音时执行命令。

答案1

哈哈!三年后,我搜索了同样的问题,甚至没有意识到我已经找到了自己的问题。
好吧,至少对于我未来的自己来说,这是解决方案和其他一些注释。

cat /proc/asound/card*/pcm0p/sub0/status | grep -i running || <audio_not_running_cmd.sh>

<audio_not_running_cmd.sh>如果无法找到任何未运行的音频设备,则上述命令将运行。
笔记:如果您打开了 PulsoAudio Volume 窗口,则它将一直显示“RUNNING”。尝试关闭该窗口,4-5 秒后status应会显示。closed

因此,根据上述结果,您只需将该脚本放入您的设备中crontab并定期检查您的音频设备是否处于睡眠状态。

相关内容