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?

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.


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.


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).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.