Problema no widget de volume com hotplugging da placa de som

8

Ao conectar uma placa de som USB, às vezes, a saída de áudio atual (por exemplo, alto-falantes Banshee e PC) muda imediatamente. Mas os controles de volume (widget de som no systray, teclas do teclado de volume) estão presos na placa de som antiga.

Conecte uma placa de som e um amplificador enquanto o volume estiver definido como ultra alto para os alto-falantes do PC. Você não pode controlar o volume sem abrir as configurações de som ou o mesmo. Provavelmente, isso pode causar distúrbios nos vizinhos em alguns países. Você não pode controlá-lo com o widget de som da bandeja do sistema nem com as teclas do teclado de volume.

Como desativar a comutação automática da saída de áudio do hardware ou ativar a comutação automática dos controles de volume do software? Seria ótimo tornar o comportamento do software consistente com o hardware.

Ubuntu 11.10 vanilla atualizado.

jpic
fonte
Não é uma solução, mas uma solução alternativa é conectar e desconectar fones de ouvido. Isso força uma alternância dos controles.
RobotHumans
Em vez de hotplugging, novamente essa é uma solução de band-aid, talvez você possa deixá-lo conectado e, quando não estiver em uso, mudar manualmente seu perfil para 'off'?
AyaneForever
3
Terceira solução de band-aid: diminua o volume do hardware da sua placa de som USB antes de conectá-la - geralmente a melhor prática com todos os dispositivos de áudio (digital e analógico) é zerar todos os níveis antes de juntar as coisas.
Adempewolff

Respostas:

2

Você pode obter o que deseja usando uma regra do udev escrita para atuar em determinados eventos. Nesse caso, esses eventos são para conectar a placa de som USB e desconectá-la. De acordo com a resposta deste fórum, a solução possível é a seguinte:

  1. Abra o arquivo que possui as regras do udev da placa de som usb:

    sudo -H nautilus /etc/udev/rules.d/10-usb-sound-card.rules
    
  2. Colar e 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. Salve o arquivo e dê

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

comando. Em seguida, teste esta regra conectando e desconectando sua placa de som USB.

Eu espero que isso te ajude.

numand
fonte