Compré una tarjeta de sonido USB. Me gustaría configurar mi escritorio Linux para que prefiera el dispositivo USB, si está enchufado y cambia automáticamente cuando el dispositivo está (desenchufado). ¿Es posible y cómo?
Compré una tarjeta de sonido USB. Me gustaría configurar mi escritorio Linux para que prefiera el dispositivo USB, si está enchufado y cambia automáticamente cuando el dispositivo está (desenchufado). ¿Es posible y cómo?
Respuestas:
Encuentra tu tarjeta con
$ cat /proc/asound/cards
Para obtener nombres válidos de tarjetas ALSA, use aplay
:
$ aplay -l
y luego crea /etc/asound.conf
con lo siguiente:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Reemplace "tarjeta 1" con el número o nombre de su tarjeta que se determinó anteriormente.
Alternativamente, puede cambiar el orden de sus tarjetas para que su tarjeta USB sea la tarjeta 0 y funcione sin edición asound.conf
.
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
Este es el método para seleccionar la tarjeta de sonido predeterminada en Alsa. Es posible que desee instalar Alsa para que este método funcione si está utilizando Pulse Audio.
cat / proc / asound / modules
enumerará sus módulos de sonido. La salida del comando será así (por ejemplo):
0 snd_hda_intel
1 snd_usb_intel
puedes entender fácilmente cuál es tu tarjeta de sonido usb desde arriba.
nano /etc/modprobe.d/alsa-base.conf
edite este alsa-base.conf de tal manera que su tarjeta preferida tenga un índice = -2 / 0 y la otra tarjeta tenga un índice = -1 / 1 (quédese con -2 y -1)
opciones snd_hda_intel index = -1
opciones snd_usb_intel index = -2
en este caso, el dispositivo usb es el dispositivo preferido.
si tiene dos tarjetas diferentes con el mismo nombre de la salida, así:
opciones snd_hda_intel
opciones snd_hda_intel
emita este comando para averiguar cuál es cuál:
gato / proc / asound / tarjetas
luego edite los módulos de esta manera:
opciones snd_hda_intel enable = 1 index = 0
opciones snd_hda_intel enable = 0 index = 1
puede ser necesario reiniciar, por lo que es posible que deba cambiar manualmente sus tarjetas de sonido.
Tampoco pude obtener salida de mi dispositivo USB. Mi cat /proc/asound/modules
salida fue:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
He intentado las dos respuestas descritas aquí, que no ayudaron (con muchas combinaciones de índice y mucho reinicio). Creo que el problema fue que mi dispositivo USB se inicializó después del arranque. Lo que sea, entonces mi solución de trabajo es poner en la lista negra otros 2 dispositivos de sonido actualizándolos /etc/modprobe.d/blacklist.conf
como:
blacklist snd_hda_intel
La respuesta de Matija Nalis solo funcionó a medias para mí (alsamixer cambió el valor predeterminado, pero otras cosas como aplay y firefox obstinadamente se quedaron con el valor predeterminado incorrecto). Este ejemplo de la wiki de Debian funcionó para mí (en la computadora portátil CentOS-6):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
Para el registro: ALSA está pobremente documentado, y especialmente esto es muy simple, como seleccionar qué tarjeta usar es demasiado difícil. Peor aún, parece cambiar entre sistemas. Además, obtuve esa etiqueta "Generic_1" de aplay -l donde aparece como "tarjeta 1" en la lista. Otras personas parecían estar usándolo, así que hice lo mismo ... lo que significa que no puedo decir.
Si bien puede cambiar la tarjeta alsa predeterminada editando .asoundrc o el sistema asound.conf, existen algunos problemas importantes con este enfoque.
Es frágil y requiere que se reinicie la aplicación para ser respetado.
Si desea cambiar las tarjetas sobre la marcha, entonces realmente necesita usar un servidor de sonido que abstraiga las aplicaciones de la tarjeta de sonido correctamente, como pulseaudio.
Aquí hay una variante de las respuestas de Matija Nalis y Tel. Esto es lo que funcionó para mí:
~ / .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(Odroid C0, Debian Jessie, audio HDMI como tarjeta 0 y tarjeta de sonido USB como tarjeta 1 según aplay -l)
Nota: otros métodos no funcionaron para mí, ya que / proc / asound / modules no existe y no hay un módulo de audio hdmi para poner en la lista negra o poner en baja prioridad, está incrustado en el núcleo. Parece que habría tenido que volver a compilar el núcleo sin soporte de audio hdmi para deshabilitarlo por completo.