====== Ubuntu - Sound - PulseAudio - Set default sound output card ======
Set default sound output card dynamically using PulseAudio.
----
===== Get list of Sources =====
pactl list short sources
returns:
1 alsa_output.pci-0000_0b_00.4.analog-stereo.monitor module-alsa-card.c s16le 2ch 48000Hz IDLE
4 alsa_output.pci-0000_09_00.1.hdmi-stereo-extra1.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
----
===== Get list of Sinks =====
pactl list short sinks
returns:
1 alsa_output.pci-0000_0b_00.4.analog-stereo module-alsa-card.c s16le 2ch 48000Hz RUNNING
3 alsa_output.pci-0000_09_00.1.hdmi-stereo-extra1 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
----
----
===== Set Defaults =====
pactl set-default-source alsa_output.pci-0000_0b_00.4.analog-stereo
pactl set-default-sink alsa_output.pci-0000_0b_00.4.analog-stereo
----
===== Use a BASH Script =====
!/bin/bash
declare -i sinks_count=`pacmd list-sinks | grep -c index:[[:space:]][[:digit:]]`
declare -i active_sink_index=`pacmd list-sinks | sed -n -e 's/\*[[:space:]]index:[[:space:]]\([[:digit:]]\)/\1/p'`
declare -i major_sink_index=$sinks_count-1
declare -i next_sink_index=0
if [ $active_sink_index -ne $major_sink_index ] ; then
next_sink_index=active_sink_index+1
fi
#change the default sink
pacmd "set-default-sink ${next_sink_index}"
#move all inputs to the new sink
for app in $(pacmd list-sink-inputs | sed -n -e 's/index:[[:space:]]\([[:digit:]]\)/\1/p');
do
pacmd "move-sink-input $app $next_sink_index"
done
#display notification
declare -i ndx=0
pacmd list-sinks | sed -n -e 's/device.description[[:space:]]=[[:space:]]"\(.*\)"/\1/p' | while read line;
do
if [ $next_sink_index -eq $ndx ] ; then
notify-send -i notification-audio-volume-high "Sound output switched to" "$line"
exit
**NOTE:**
Before running the script:
* Set Permissions: sudo chmod 755 /usr/local/bin/audio-device-switch.sh
To allocate to a shortcut key:
* Navigate to **System -> Preferences -> Keyboard Shortcuts**.
* Click **Add**.
* Name: **Switch between audio devices**.
* Command: **audio-device-switch.sh**.
* Press Apply.
* Select the newly added shortcut row and click on the shortcut column.
* Choose a shortcut combination – e.g.WIN + F12.
----
===== References =====
man pactl