diz ao Firefox para usar outro dispositivo ALSA

12

Tenho uma placa de som onboard e também um fone de ouvido bluetooth conectado. Eu configurei o dispositivo bluetooth em /etc/asound.conf :

# cat /etc/asound.conf

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

Por padrão, a placa onboard é usada para todo o som (aparentemente, a placa onboard padrão não precisa nem ser listada em asound.conf)

Quando eu quero que um aplicativo use meu dispositivo alsa bluetooth, eu tenho que especificá-lo, como:

mplayer -ao alsa:device=bluetooth file.mp3

Tudo bem para mim. Mas eu preciso de uma maneira de dizer aos meus navegadores para usar o dispositivo bluetooth alsa também.

Eu encontrei uma maneira de iniciar o cromo usando a opção de linha de comando --alsa-output-device :

chromium --alsa-output-device=bluetooth

Eu preciso de uma maneira semelhante para iniciar o Firefox, mas não consegui encontrar nenhum.

Como posso dizer ao firefox para usar meu dispositivo alsa bluetooth, sem ter que modificar /etc/asound.conf ou ~/.asoundrc todas as vezes?

UPDATE:

Eu segui o conselho do @lgeorget e meu /etc/asound.conf agora é assim:

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:0,0"
    }
}

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

Quando eu inicio o firefox usando ALSAPCM=bluetooth firefox , eu obtenho som no meu fone de ouvido bluetooth, mas o firefox roda a 100% da CPU (nos meus 4 núcleos) e o vídeo do youtube é de 10x (e o som é correspondentemente Eu não entendo o que está acontecendo.Quando eu inicio o firefox sem ALSAPCM=bluetooth , tudo está OK, e o som é reproduzido no dispositivo alsa padrão.

    
por Martin Vegter 15.09.2016 / 08:23

2 respostas

9

Aparentemente não há opção para o firefox, mas você pode manipular a saída do ALSA através de variáveis de ambiente.

Tente por exemplo:

ALSA_PCM_CARD=bluetooth firefox

Como alternativa, se isso não funcionar, tente criar um script com o seu .asoundrc

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:hdmi"
    }
}

(substitua "hw: hdmi" pelo seu pcm normal). Então, se você quiser que um programa use um PCM específico, use:

ALSAPCM=bluetooth firefox

Fontes:

por 15.09.2016 / 08:55
0

Parece uma encarnação de este bug . Existem algumas soluções sugeridas, mas elas parecem ser específicas da Intel.

Tente usar o pulseaudio. Se funcionar, você pode redirecionar seus programas da ALSA para pulseaudio com o seguinte asound.conf :

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Se isso não ajudar, adicione rate 44100 ou rate 48000 à seção pcm.bluetooth do seu asound.conf . Talvez a ALSA venha a perceber então.

Você também pode tentar o Controlador de velocidade de vídeo do YouTube Html5 , embora eu duvido que isso ajude .

    
por 20.09.2016 / 13:05