Altera a saída de som da linha de comando

5

Eu escrevi um script que muda a saída do meu monitor de DVI (meu monitor) para HDMI (minha TV) usando o xrandr. Nesse script, eu também gostaria de alterar minha saída de áudio da linha analógica para HDMI.

Eu tentei o seguinte:

pacmd set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1

Isso parece alterar alguns sons (como o som que você ouve quando ajusta o volume na área de trabalho) para HDMI, mas ainda assim a saída de som padrão para aplicativos (como o modo de imagem grande do Steam e vários jogos) está definida como analógica. Para alterá-lo para HDMI, preciso clicar no painel de configurações de som na área de trabalho e alterá-lo manualmente para HDMI.

Como altero a saída de som da linha de comando de forma confiável? Ou, alternativamente, o que exatamente as configurações de som do Ubuntu fazem quando altero a saída de som?

Estou executando o Ubuntu 15.10.

    
por Echows 27.10.2015 / 18:48

1 resposta

4

Alterar o dispositivo de saída padrão pode, de fato, ser feito usando a interface CLI do pulseaudio:

pacmd set-default-sink <sink_name|index>

Este dispositivo padrão pode, no entanto, ser alterado pelo module-stream-restore , que é carregado por padrão. Este módulo também irá restaurar um dispositivo, a menos que o chamemos com o seguinte parâmetro:

load-module module-stream-restore restore_device=false

Isso deve ser colocado em nosso default.pa para substituir a linha correspondente.

Para que essa alteração seja válida para todos os usuários, precisamos editar a raiz /etc/pulse/default.pa as. Uma abordagem melhor é, no entanto, trabalhar em uma cópia deste arquivo em nosso diretório de usuários, onde podemos colocá-lo em ~/.config/pulse/

cp /etc/pulse/default.pa ~/.config/pulse/

A definição feita por nós substituirá as de /etc/pulse , por isso é seguro experimentar aqui. Se algo der errado, basta excluir esse arquivo para permitir que o pulseaudio use os padrões do sistema novamente.

Todas as alterações em default.pa ne uma redefinição do servidor pulseaudio entrarão em vigor. Isso pode ser feito com:

pulseaudio -k

Veja também:
Como alterar o dissipador pulseaudio com "pacmd set-default-sink" durante a reprodução?

    
por Takkat 27.10.2015 / 20:26