How do I switch to another audio output sink in XFCE?
Solution 1
Testing Xfce panel version 4.12.2: the volume indicator already has that feature. It is a pulseaudio plugin (xfce4-pulseaudio-plugin
) for the Xfce panel.
The output device is listed under the main scroll given more than one sink is available; on mouse hover a list of available output devices is displayed.
So, no external application is needed for the purpose discussed here, although pavucontrol
may be useful (especially given that Xfce has no specific audio settings like other desktops have).
Non-Xfce-specific tools can be also used like pasystray
(PulseAudio System Tray), as explained here, similar to Sound Switcher Indicator, already mentioned under this question; pasystray
doesn't need a new PPA to be added.
Solution 2
After installing pavucontrol you have graphical access to several useful settings for pulseaudio including a choice for your output device. Choose the default output device in the Output Device tab:
A currently playing stream of a given application can also be moved to another device in the Playback tab from the dropdown menu next to Playback Stream on:
Solution 3
The pavucontrol answer is correct. However I encountered difficulties to use is out of the box. I had to type the following before using pavucontrol to use my bt headphone:
pactl load-module module-alsa-sink device=btheadset
You can control if this was successful by typing:
pactl list short sinks
Output should look similar to:
0 alsa_output.pci-0000_03_04.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_output.btheadset module-alsa-sink.c s16le 2ch 44100Hz IDLE
I also have a short script to move sound from alsa/pulseaudio to bt that I called 'toBt.sh':
#!/bin/bash
OCHANNEL=`pactl list modules short | grep btheadset | cut -f 1`
for i in $OCHANNEL; do
echo "altes module $i"
pactl unload-module $i
done
CHANNEL=`pactl load-module module-alsa-sink device=btheadset`
echo "neues module $CHANNEL"
if [ $? -ne 0 ]; then
echo "No bt connection"
exit -1
fi
SINK=`pactl list sinks short | grep btheadset | cut -f 1`
INPUTS=`pactl list sink-inputs short | cut -f 1`
for i in $INPUTS; do
echo "Verschiebe in $i nach $SINK"
pactl move-sink-input $i $SINK
done
To return to alsa/pulseaudio sound I've got 'toAlsa.sh':
#!/bin/bash
SINK=`pactl list sinks short | grep alsa-card | cut -f 1`
INPUTS=`pactl list sink-inputs short | cut -f 1`
for i in $INPUTS; do
echo "Verschiebe in $i nach $SINK"
pactl move-sink-input $i $SINK
done
Related videos on Youtube
Takkat
Updated on September 18, 2022Comments
-
Takkat over 1 year
From the command line I can easily create another pulseaudio sink and switch to that but I have not found a way how to do this using a GUI from the Xfce desktop.
In GNOME I use gnome-volume-control from audio settings to switch to another audio output sink.
Is there anything similar in Xfce?
-
Admin about 12 yearsare you using pulseaudio? - is
pavucontrol
the sort of thing you are looking for? -
Admin about 12 yearsPavucontrol would do it but it installs such a lot of dependencies. I was wondering if there was something more XFCE inherent (or lean).
-
Admin about 12 years... ummm... but I thought xfce4-mixer also had a similar capability - but I'm depending on my ageing memory ... :)
-
Admin about 12 yearsIt looks like it has but it does not show my bluetooth headset or my newly created pulseaudio sink. Feels like it's oriented more to ALSA than to pulseaudio. I may well only just don't know how to operate it (memory mumified by age).
-
-
Takkat about 12 years"The two utilities PulseAudio Manager and PulseAudio Device Chooser are obsolete and should not be used" (from PulseAudio Wiki)
-
Admin over 9 yearsI did exactly that but didn't get my bluetooth headphone to work unfortunately. It works perfectly in Unity though. Any idea of what might be the problem?
-
Admin over 7 yearsThis worked for me using I3 (instead of Unity) on Ubuntu 16.04
-
Admin over 6 years"Set as fallback" will not affect the already playing applications, but only those started after this change. Also, disconnecting and reconnecting a device (e.g a bluetooth speaker) will reset this setting back to the internal/wired output. Setting an output device per application under the Playback tab overrides the "Set as fallback" setting.