I run the Slack standalone application on an Ubuntu 16.04 machine which has two sound devices: the built-in sound, and a USB headset. I don't use a desktop environment, but I am running X and pulseaudio is running (as set up by default on Ubuntu).
I want all applications (Chrome, Slack, Skype, etc.) to use the USB headset for sound when it's plugged in. Until recently, this is the way it worked. I don't remember doing anything special to configure this. I just used the PulseAudio volume control application (
pavucontrol) the first time (and only the first time) I used sound in the application: when the application appears in the “Playback” or “Recording” tab, switch it from “Built-in audio” to the USB headset, and the setting sticks for subsequent times.
Since a few days ago, this no longer works for Slack. Slack always the built-in audio even when the USB headset is plugged in. To use the headset for a Slack voice call, I need to wait until the call has started, then go to the “Playback” tab of PA Volume Control and switch the device (oddly, it also controls the recording direction).
I think the change happened when I upgraded from
slack-desktop version 3.3.8 to 3.4.0. I use the package source https://packagecloud.io/slacktechnologies/slack/debian/ which is automatically set up by the
slack-desktop package. The recent update to 4.0.0 didn't fix this.
How can I get Slack to always prefer the USB headset when it's present? I don't mind how it's done, but I want it to happen automatically. Losing audio for a few seconds at the beginning of a call while I fiddle with settings is not acceptable. And I want to keep using the standalone application for this, not a browser tab.