Обнаружение воспроизведения звука в скрипте bash
Есть ли способ определить, воспроизводится ли какой-либо звук (используя скрипт bash)?
(Я использую Ubuntu 11.10 с помощью pulseaudio.)
Я планирую использовать его в индикаторе, чтобы визуально напомнить, что звук воспроизводится, когда отключен звук.
1 ответ
Решение
Использование Pulse-Audio: вы можете попробовать pactl list
чтобы увидеть, что импульсный звук делает со звуковым оборудованием. Я оставляю детали вытащить вам статус. Например, эта команда выдаст список Sink
а также Source
состояния.
pactl list | grep State
Использование procfs для ALSA (предостережение: эти записи proc могут исчезнуть в будущем): этот фрагмент проходит через устройства воспроизведения pcm в иерархии процедур ALSA.
if grep -q RUNNING /proc/asound/card*/*p/*/status 2>&1; then
echo "Playing"
else
echo "Idle"
fi