有没有办法检测是否正在播放声音(使用 bash 脚本)?
(我在 Ubuntu 11.10 上使用 pulseaudio。)
我计划将其用作指示器,以便在静音时直观地提醒我声音正在播放。
答案1
使用脉冲音频:您可以尝试pactl list
查看脉冲音频对声音硬件做了什么。我将提取状态的具体细节留给您。例如:此命令将列出Sink
和Source
状态。
pactl list | grep State
使用 procfs 进行 ALSA(警告:这些 proc 条目将来可能会消失): 此代码片段贯穿 ALSA proc 层次结构中的 pcm 播放设备。
if grep -q RUNNING /proc/asound/card*/*p/*/status 2>&1; then
echo "Playing"
else
echo "Idle"
fi