quinta-feira, 7 de janeiro de 2016

Resolvendo o Problema de Áudio com Vídeos do Youtube no PCLinuxOS

Uma das coisas mais irritantes do Linux é ter que lidar com o áudio.
Sim, apesar do PulseAudio, que mais traz problemas e dores de cabeça do que adianta, muitas vezes instalamos nosso Linux favorito, o PCLinuxOS, em computadores com saída HDMI e lá se vai o nosso som.

Algo não funciona, ou o som no navegador não sai, ou vídeos do You Tube ficam mudos.
Daí, parte-se para o Pulse Audio, e, aparentemente os problemas acabam.

Só que não, afinal o PA também insere alguns problemas, ao acabar com outros. Notadamente, emuladores e outros programas que não funcionam com o PA ou programas do windows via Wine ficam com o som horrível.

Então, ficamos com duas opções: Ou usamos o PA e temos som em todas aplicações (e som horrível no Wine e outros programas) ou não usamo o PA, e temos bom som em todos os programas, mas, mudo em algumas aplicações (Vídeo do You Tube, por exemplo).

Era uma questão de escolha, mas, sem poder ter as duas coisas: Ou se era feliz ou se comia o bolo, mas, ser feliz e comer o bolo era impossível…

Até agora…

Sim, é possível habilitar o áudio no PCLinuxOS, mesmo com saída HDMI, de forma que apenas a placa de som do computador seja usada, e, o som não fique mudo no navegador ou outros programas.
Mas como ? Primeiro, vamos ver como funciona o áudio e o porquê de não sair áudio nas “caixas de som” quando se tem dispositivos HDMI conectados (ou embutidos no chipset).

HDMI: Uma segunda fonte de som
Sim, a saída de áudio HDMI é uma segunda fonte de som. E, quando o som é configurado, quando da instalação do PCLinuxOS, geralmente a saída HDMI é automaticamente selecionada como a saída padrão.
Isso seria ótimo, se não fosse trágico. Ocorre que isso só faria sentido se tivéssemos monitores com saída de áudio. Como esse recurso é comum apenas em TV's, para computadores desktops setar a saída padrão para a placa HDMI é inútil, causa grande frustração e, leva o usuário a apelar para o Pulseaudio.

Mas, é possível mudar a configuração padrão do ALSA, para apontar como saída de áudio default a placa de som do computador e esquecer a saída HDMI.

Como ?

Não muito óbvio, mas, não muito difícil tampouco.

Asoundrc – O Arquivo de configuração Extra

Conforme está listado aqui: http://www.alsa-project.org/main/index.php/Asoundrc é um arquivo de configuração que está localizado geralmente em $HOME/.asoundrc
Para cada um dos usuários do computador, há um arquivo desses. Este arquivo permite um controle maior sobre a saída de som, valores de taxas de amostragem e redirecionamento da saída padrão.
E, é esse arquivo que vamos modificar, para modificar a saída padrão do ALSA.
O que acontece é que, na configuração, quando o sistema é instalado, a primeira placa de som é identificada como a saída padrão. E, via de regra, é a placa HDMI.



Mudando a Configuração Padrão de Áudio
Agora que sabemos porquê as coisas são como são, vamos aprender como mudar essa configuração que não nos interessa. Como fazer ? Seguindo os passos abaixo:

1º Identificar as placas de som reconhecidas no sistema. Eu vou dar como exemplo a configuração que eu trabalhei, numa máquina HP, com chipset Intel (som, gráficos e saída HDMI).
Abra um terminal e digite: cat /proc/asound/cards
Meu resultado foi:
0 [HDMI ]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xf7c34000 irq 45
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7c30000 irq 46

Ou seja, duas placas de som reconhecidas, sendo a placa 0 a saída HDMI, e placa 1 a saída de áudio normal do computador.

2º Agora, temos que ver como está a configuração do sistema de som no arquivo .asoundrc
Faça assim, num terminal digite cat .asoundrc

Meu resultado foi:

# playback PCM device: using loopback subdevice 0,0
pcm.amix {
type dmix
ipc_key 219345
slave.pcm "hw:Loopback,2,0"
}

# capture PCM device: using loopback subdevice 0,1
pcm.asnoop {
type dsnoop
ipc_key 219346
slave.pcm "hw:Loopback,0,1"
}

# duplex device combining our PCM devices defined above
pcm.aduplex {
type asym
playback.pcm "amix"
capture.pcm "asnoop"
}

# ------------------------------------------------------
# for jack alsa_in and alsa_out: looped-back signal at other ends
pcm.ploop {
type plug
slave.pcm "hw:Loopback,1,1"
}

pcm.cloop {
type dsnoop
ipc_key 219348
slave.pcm "hw:Loopback,1,0"
}

# ------------------------------------------------------
# default device

pcm.!default {
type plug
slave.pcm "aduplex"
}

Agora, vemos que está configurado como padrão a saída HDMI, na seção # default device.

3º Agora, com um editor de texto, abra o seu arquivo .asoundrc e procure a seção # default device.
Mude o que estiver para o seguinte:

# default device

pcm.!default {
type hw
card 1
}

Ou seja, mudados a saída padrão de som, do HDMI (placa 0) para a saída do computador (placa 1).

Agora, encerre a sua sessão, deslogue e logue novamente, e, o som do navegador Firefox, do Google Chrome e tantos outros programas vai sair nos alto-falantes do computador, não mais para o HDMI, e, não haverá mais silêncio. Ehehehehehe.

Bem, há que se notar uns detalhes.

  • Primeiro de tudo, observe qual a sua configuração de som, em cat /proc/asound/cards, pois este exemplo que eu coloquei aqui foi para um chipset Intel de vídeo e áudio. Há a necessidade de estudar cada caso, pois, pode haver uma combinação de hardware bem diferente (placas de vídeo Nvidia, placas de som ou microfones USB, e etc…). Mas, as instruções são as mesmas, só é necessário adaptar para cada caso.
  • Sempre faça um backup do seu arquivo .asoundrc antes de mexer nele. Caso haja algum problema, poderá ser revertido facilmente.


E, finalmente, desabilite o PulseAudio, que é um peso morto, comendo processamento do computador, quando é tão simples de se fazer a mudança.

Ok ?



PS.:
Em tempo, meus amigos...
Nossos queridos "amigos" no Google mudaram a
API do YouTube, para forçar vídeos HTML5 no YouTube.
Bem, áudio HDMI não funciona bem com o Firefox. Os vídeos ficam mudos, mas funcionam muito bem no Chrome.
Hmmm, isso me lembra da MS e os seus velhos truques. Para
ter som ativado com YouTube sendo executado no Firefox,
você tem que fazer uma coisa agora: instalar um addon no
Firefox, chamado YouTube Flash Player para o Firefox, versão 1.4.0.
Ok? Instale-o e você terá som novamente no Firefox com vídeos do YouTube, em máquinas com saída HDMI.

https://addons.mozilla.org/en-US/firef ... don/youtube-flash-player/

Nenhum comentário:

Postar um comentário