Redirecionar áudio pode se tornar bastante difícil em alguns casos.
Por exemplo, meu firefox nunca gostou de reproduzir áudio através de HDMI enquanto todos os outros softwares faziam isso. Desde que eu uso o pulso de áudio, funciona como charme; verifique o final desta resposta.
Estou usando o Lubuntu 16.04. Pode ser diferente da sua área de trabalho, mas a troca automática nunca ocorreu por padrão. Eu sempre tive que direcionar o fluxo de áudio manualmente. Em geral, você tem pelo menos duas saídas de áudio: um audiojack analógico e um hdmi digital, em geral, em diferentes placas de áudio.
A maneira mais difícil:
Primeiro eu tive que ter uma visão geral sobre as audiocards instaladas no meu htpc (placa-mãe ati com gráficos onboard e cpu onboard):aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 3: ALC887-VD Digital [ALC887-VD Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
e todos os canais de streaming de áudio possíveis que eu poderia direcionar o som:
aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
hdmi:CARD=Generic,DEV=0
HD-Audio Generic, HDMI 0
HDMI Audio Output
dmix:CARD=Generic,DEV=3
HD-Audio Generic, HDMI 0
Direct sample mixing device
dsnoop:CARD=Generic,DEV=3
HD-Audio Generic, HDMI 0
Direct sample snooping device
hw:CARD=Generic,DEV=3
HD-Audio Generic, HDMI 0
Direct hardware device without any conversions
plughw:CARD=Generic,DEV=3
HD-Audio Generic, HDMI 0
Hardware device with all software conversions
default:CARD=SB
HDA ATI SB, ALC887-VD Analog
Default Audio Device
sysdefault:CARD=SB
HDA ATI SB, ALC887-VD Analog
Default Audio Device
front:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
Front speakers
surround21:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Digital
HDMI Audio Output
dmix:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
Direct sample mixing device
dmix:CARD=SB,DEV=3
HDA ATI SB, ALC887-VD Digital
Direct sample mixing device
dsnoop:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
Direct sample snooping device
dsnoop:CARD=SB,DEV=3
HDA ATI SB, ALC887-VD Digital
Direct sample snooping device
hw:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
Direct hardware device without any conversions
hw:CARD=SB,DEV=3
HDA ATI SB, ALC887-VD Digital
Direct hardware device without any conversions
plughw:CARD=SB,DEV=0
HDA ATI SB, ALC887-VD Analog
Hardware device with all software conversions
plughw:CARD=SB,DEV=3
HDA ATI SB, ALC887-VD Digital
Hardware device with all software conversions
Agora eu precisava descobrir qual desses canais é usado pelo meu cabo HDMI. Por isso eu precisava de um audioplayer que me permitisse direcionar o áudio manualmente para testar cada um dos canais acima, um por um, até que descobrisse, qual deles pertence ao meu HDMI. Com um GUI vlc e especialmente audacioso vem a calhar. Na base do CLI, também poderíamos usar aplay, mas não estou familiarizado com isso.
Agora, depois de ter descoberto, qual canal pertence ao meu cabo HDMI, era o cartão 0, dispositivo 3, eu precisava criar um arquivo na minha homefolder. asoundrc Wiki Asound com as informações sobre qual placa e qual dispositivo usar.
pcm.snd_card {
type hw
card 0
device 3
}
ctl.snd_card {
type hw
card 0
device 3
}
Eu também precisava rodar 'alsamixer'. Com F6 eu selecionei minha placa de som e tive que navegar com as teclas de seta para o S / PDIF e ativar (ativar) com a tecla M.
Após a reinicialização do áudio, o HDMI funcionou, mas o Firefox continuou sem vontade de reproduzir áudio via HDMI.
longa história curta, agora eu uso o PulseAudio e estou muito feliz com isso.
O caminho mais fácil
Desde que instalei o PulseAudio, o manuseio dos dispositivos de áudio se tornou muito fácil.
Eu sugiro que você instale:
sudo apt-get install gstreamer1.0-pulseaudio pavucontrol pulseaudio-module-x11
pavucontrol é uma GUI confortável para (re) direcionar seus fluxos de áudio para o dispositivo / canal desejado.
Espero que isso ajude você a encontrar uma solução.