检测 bash 脚本中播放的音频

dgo*_*o.a 4 audio bash-scripting ubuntu-11.10

有没有办法检测是否有声音正在播放(使用 bash 脚本)?

(我在Ubuntu 11.10上使用pulseaudio。)

我计划在指示器中使用它来直观地提醒我静音打开时正在播放声音。

小智 6

使用脉冲音频:您可以尝试pactl list查看脉冲音频对声音硬件的作用。我将把获取状态的具体细节留给您。例如:此命令将列出SinkSource状态。

pactl list | grep State
Run Code Online (Sandbox Code Playgroud)

使用 ALSA 的 procfs警告:这些 proc 条目将来可能会消失):此代码片段在 ALSA proc 层次结构中的 pcm 播放设备中运行。

if grep -q RUNNING /proc/asound/card*/*p/*/status 2>&1; then
   echo "Playing"
else
   echo "Idle"
fi
Run Code Online (Sandbox Code Playgroud)