Problema de widget de volumen con conexión en caliente de la tarjeta de sonido

8

Al conectar una tarjeta de sonido USB, a veces la salida de audio actual (es decir, Banshee y altavoces de PC) puede cambiar de inmediato. Pero los controles de volumen (widget de sonido en la bandeja del sistema, teclas de teclado de volumen) están atascados en la tarjeta de sonido anterior.

Conecte una tarjeta de sonido y un amplificador mientras el volumen está configurado en ultra alto para los altavoces de la PC. No puede controlar el volumen sin abrir la configuración de sonido o alsamixer. Esto probablemente podría causar disturbios en los vecinos en algunos países. No puede controlarlo con el widget de sonido de la bandeja del sistema ni con las teclas de volumen del teclado.

¿Cómo deshabilitar el cambio automático de la salida de audio del hardware o habilitar el cambio automático de los controles de volumen del software? Sería genial hacer que el comportamiento del software sea coherente con el del hardware.

Ubuntu 11.10 vainilla actualizado.

jpic
fuente
No es una solución, pero una solución es conectar y desconectar los auriculares. Esto obliga a alternar los controles.
RobotHumans
En lugar de conectarlo en caliente, de nuevo, esta es una solución de ayuda de la banda, ¿tal vez pueda dejarlo enchufado y cuando no esté en uso cambiar manualmente su perfil a 'apagado'?
AyaneForever
3
Tercera solución de ayuda de banda: baje el volumen del hardware en su tarjeta de sonido USB antes de enchufarla; en general, la mejor práctica con todos los dispositivos de audio (digital y analógico) es poner a cero todos los niveles antes de conectar todo.
adempewolff

Respuestas:

2

Puede lograr lo que desea mediante el uso de una regla de udev escrita para actuar sobre ciertos eventos. En este caso, estos eventos son para conectar la tarjeta de sonido USB y desconectarla. Según esta respuesta del foro, la posible solución es la siguiente:

  1. Abra el archivo que tiene las reglas de udev de la tarjeta de sonido usb:

    sudo -H nautilus /etc/udev/rules.d/10-usb-sound-card.rules
    
  2. Pegar y copiar

    KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf"
    
    KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'"
    
  3. Guarda el archivo y dale

    sudo udevadm trigger --action=add /etc/udev/rules.d/10-usb-sound-card.rules
    

mando. Luego pruebe esta regla conectando y desconectando su tarjeta de sonido usb.

Espero que esto ayude.

numand
fuente