Faça o PulseAudio preferir um dispositivo de áudio externo

11

Eu tenho um dispositivo de áudio externo Bose Soundlink, usado para transmitir músicas do meu computador para o meu aparelho de som. O Ubuntu reconhece o dispositivo, mas não o utiliza automaticamente. Para que o PulseAudio possa usá-lo na saída, eu tenho que escolher manualmente na guia 'Saída' em 'Configurações de som'.

Eu gostaria que o PulseAudio sempre preferisse um dispositivo externo ao interno, se houver um disponível. Existe uma maneira de conseguir isso?

bessman
fonte

Respostas:

18

Também é útil carregar o módulo module-switch-on-connect. Se você adicionar a linha

load-module module-switch-on-connect

para /etc/pulse/default.pa(como su, é claro), isso deve acontecer automaticamente sem a necessidade de chamar um script.

Sam Whitlock
fonte
3
Obrigado! Essa é uma solução elegante para o problema. Para testá-lo: $ pactl load-module module-on-connect
iElectric
1
Funciona muito bem com o meu USB DAC e Linux Mint 18 Sarah
alfonx
Funciona com Sims4 headset USB + microfone no Linux Mint 18,3 Sylvia
Nidhin David
5

Em teoria, isso deve ser tratado pelo 'PulseAudio Volume Control'. Há um botão para selecionar um dispositivo como o dispositivo padrão, embora imho intitulado como 'Definir como substituto'. Mais informações sobre esse recurso aqui: http://ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

Infelizmente, o recurso não funciona. Assim que um dispositivo de áudio USB é desconectado, a configuração como dispositivo padrão é irritantemente esquecida, apesar do fato de que todas as outras configurações, como volume, balanço etc. são mantidas na próxima vez que o dispositivo for conectado. No seu caso, se o dispositivo não está sendo removido, esse recurso pode realmente funcionar para você. Se você está sentindo falta do aplicativo, basta instalar o pacote 'pavucontrol'

Eu uso um fone de ouvido USB para ligar e tive que criar um script usando 'pacmd' para habilitá-lo ou desabilitá-lo conforme necessário para evitar a GUI. Isso me permitiu adicionar apenas alguns itens do iniciador para alternar conforme necessário. No meu caso, meu script para ativar o fone de ouvido é:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

E para reverter para o meu áudio interno:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

'pacmd' é bastante fácil de usar, basta executá-lo no terminal e digite 'help' para obter mais informações.

Veazer
fonte
1
Também digno de nota, mudei para uma distro baseada no KDE (NetRunner) e as preferências dos dispositivos de áudio são tratadas muito melhor, até ao ponto de usar diferentes dispositivos padrão para diferentes tipos de aplicativos (comunicação, multimídia, etc.).
Veazer
"embora imho mal intitulado como 'Definir como substituto'." Bom ponto +1
mertyildiran
@Veazer Não é permitido Set as Fallbackque o PulseAudio use este dispositivo quando o dispositivo "principal" falha?
Cprn 07/08/19
2

Eu tinha uma resposta similar ao que Sam Whitlock disse, só que eu tinha de editar o arquivo default.pano ~/.config/pulse. Apenas adicionando o load-module module-switch-on-connecttrabalhado!

Executando o Ubuntu 17.04 com um fone de ouvido Bluetooth JieLi AC4100 / IQ Sound (usando USB).

scoutchorton
fonte