How do I switch to another audio output sink in XFCE?

67,475

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.

enter image description here

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.

enter image description here

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; pasystraydoesn'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:

enter image description here

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:

enter image description here

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
Share:
67,475

Related videos on Youtube

Takkat
Author by

Takkat

Updated on September 18, 2022

Comments

  • Takkat
    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
      Admin about 12 years
      are you using pulseaudio? - is pavucontrol the sort of thing you are looking for?
    • Admin
      Admin about 12 years
      Pavucontrol would do it but it installs such a lot of dependencies. I was wondering if there was something more XFCE inherent (or lean).
    • Admin
      Admin about 12 years
      ... ummm... but I thought xfce4-mixer also had a similar capability - but I'm depending on my ageing memory ... :)
    • Admin
      Admin about 12 years
      It 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
    Takkat about 12 years
    "The two utilities PulseAudio Manager and PulseAudio Device Chooser are obsolete and should not be used" (from PulseAudio Wiki)
  • Admin
    Admin over 9 years
    I 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
    Admin over 7 years
    This worked for me using I3 (instead of Unity) on Ubuntu 16.04
  • Admin
    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.