RSF*_*on7 9 linux scripting audio devices pulseaudio
是否有默认程序可以检查我的音频设备是否处于静音状态?
编辑:沉默,我的意思是如果有什么东西在上面播放(不仅仅是激活或打开)
像这样的东西:
if [[ device0 is silent ]] ; then
radio $RANDOM
fi
Run Code Online (Sandbox Code Playgroud)
编辑2:我想要实现的是一个播放广播的脚本,并且可以在播放器失败时继续播放,例如,如果互联网连接中断并且播放器没有恢复,我将杀死播放器并重新开始
如果您正在使用 PulseAudio(基于 Gnome 的 Linux 发行版倾向于使用 PulseAudio,您可以检查一个是否正在运行ps -C pulseaudio
)并且您想知道某些应用程序是否正在向任何“接收器”发送任何数据,您可以这样做:
pacmd list-sink-inputs | grep -c 'state: RUNNING'
Run Code Online (Sandbox Code Playgroud)
仍然使用PulseAudio,如果您想检查您的声音输出是否静音,可能会更简单,但您可以使用以下方法获得默认“接收器”的“静音”状态:
pacmd dump | awk '
$1 == "set-sink-mute" {m[$2] = $3}
$1 == "set-default-sink" {s = $2}
END {print m[s]}'
Run Code Online (Sandbox Code Playgroud)