Tengo una tarjeta de sonido integrada y también un auricular bluetooth conectado. He configurado el dispositivo bluetooth en /etc/asound.conf
:
# cat /etc/asound.conf
pcm.bluetooth {
type bluetooth
device 12:34:56:78:9a:bc
profile "auto"
}
ctl.bluetooth {
type bluetooth
}
De forma predeterminada, la tarjeta integrada se utiliza para todos los sonidos (aparentemente, la tarjeta integrada predeterminada ni siquiera necesita aparecer en asound.conf)
Cuando quiero que una aplicación use mi dispositivo bluetooth alsa, tengo que especificarlo, como:
mplayer -ao alsa:device=bluetooth file.mp3
Está bien por mí. Pero necesito una manera de decirle a mis navegadores que también usen el dispositivo bluetooth alsa.
Encontré una manera de iniciar Chrome usando --alsa-output-device
opción de línea de comandos:
chromium --alsa-output-device=bluetooth
Necesito una forma similar de iniciar Firefox, pero no pude encontrar ninguna.
¿Cómo puedo decirle a firefox que use mi dispositivo bluetooth alsa, sin tener que modificar /etc/asound.conf
o ~/.asoundrc
¿Cada vez?
ACTUALIZAR:
He seguido el consejo de @lgeorget y mi /etc/asound.conf
ahora se ve así:
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
}
Cuando inicio firefox usando ALSAPCM=bluetooth firefox
, tengo sonido en mis auriculares bluetooth, pero firefox funciona al 100 % de la CPU (en mis 4 núcleos) y el video de youtube se reproduce a una velocidad de 10x (y el sonido es correspondientemente confuso). No entiendo qué está pasando. Cuando Inicio Firefox sin ALSAPCM=bluetooth
, todo está bien y el sonido se reproduce en el dispositivo alsa predeterminado.
Respuesta aceptada:
Aparentemente, no hay opción para Firefox, pero puede manipular la salida de ALSA a través de variables de entorno.
Prueba por ejemplo:
ALSA_PCM_CARD=bluetooth firefox
Alternativamente, si esto no funciona, intente escribir un poco su .asoundrc
pcm.!default {
type plug
slave.pcm {
@func getenv
vars [ ALSAPCM ]
default "hw:hdmi"
}
}
(reemplace "hw:hdmi" con su pcm normal). Luego, si desea que un programa use un PCM específico, use:
ALSAPCM=bluetooth firefox
Fuentes:
- Archlinux-wiki
- Stackoverflow.com