[GLLUG] How can I find out if external audio is connected?
damion.yates at gmail.com
damion.yates at gmail.com
Sat Jan 7 13:27:42 UTC 2023
On Mon, 26 Sep 2022, Dr. Axel Stammler via GLLUG wrote:
> I would like to remind myself of external amplifiers uselessly running so I
> would like to play a short sound signal once in a while if there is no audio
> playing. OTOH, the signal should obviously not be played over the built-in
> speakers. So, how can I find out (preferably using a command-line utility in
> a script) which of the ‘audio out’ connectors are actually connected to
> anything (or just have a plug in them) and if anything is played over these
> connections?
I'm not sure if it's possible to programmatically determine external vs built
in, but if you're not opposed to simply hard wiring this in a cron job you set
up yourself, then you can just look up up the devices with `pactl info` you'll
need to has this through some perl or something and then grep out the local
device leaving you with the various attached external audio devices before
using something like aplay just send audio. This assumes ALSA and pulseaudio
which is reasonably likely but audio in Linux changed over many years so you
might have Oss or you might be using pipewire etc etc. Determining if audio is
currently playing will also be interesting as these new technologies simply
attempt to mix audio together rather than block when you're device is in use.
You might be able to kludge up some sort of grep against a console based volume
bar indicator.
This sounds like a fun little project to attempt using a bunch of Unix command
line tools :)
- Damion
More information about the GLLUG
mailing list