Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there a way to detect if any sound is playing (using a bash script)?

(I'm on Ubuntu 11.10 using pulseaudio.)

I plan on using it in an indicator to visually remind me sound is playing while the mute is on.

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Using pulse-audio: You can try pactl list to see what pulse audio is doing with the sound hardware. I'm leaving the specifics of pulling out the status to you. For e.g.: This command would list the Sink and Source states.

pactl list | grep State

Using procfs for ALSA (Caveat: these proc entries might go away in the future): This snippet runs through the pcm playback devices in ALSA proc heirarchy.

if grep -q RUNNING /proc/asound/card*/*p/*/status 2>&1; then
   echo "Playing"
else
   echo "Idle"
fi
share|improve this answer
    
Thanks a lot! pactl list is working for me. Volume, mute status, etc. How did you find this out? I've been searching for "pulseaudio status" and nothing this simple came up. –  dgo.a Feb 25 '12 at 13:35
    
No problem :-) Find out the tools that come along with pulseaudio, then take a guess on the which one might be appropriate, check the man pages, try running it. –  Anil Feb 25 '12 at 15:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.