我正在尝试检查是否有声音从我的音频设备中传出。我试过
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
并定期检查您的音频设备是否处于睡眠状态。