Como posso mudar para o meu fone de ouvido USB automaticamente quando ele está conectado?

10

Estou executando o Funtoo Linux , um derivativo do Gentoo . Meus dois novos fones de ouvido Plantronics USB (um com fio, um sem fio) funcionam muito bem. Eu plugo um, ALSA percebe, e se eu definir manualmente um aplicativo para usá-lo em vez dos dispositivos padrão, ele irá.

Eu preferiria simplesmente que o fone de ouvido se tornasse minha entrada / saída padrão quando presente, e que o padrão fosse revertido para os meus alto-falantes de outra forma. Como eu automatizo esse tipo de mudança?

    
por HedgeMage 24.08.2011 / 06:53

4 respostas

4

Você pode usar as regras do udev. Para isso, você precisará encontrar os atributos do dispositivo que diferenciam seu fone de ouvido USB depois de conectado. Isso geralmente pode ser feito em duas etapas:

  • Execute udevadm monitor --udev antes de conectar o dispositivo. Em seguida, conecte-o. Haverá um monte de linhas de saída - basta escolher uma e copiar o caminho do dispositivo - é algo como /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0 .

  • Com o fone de ouvido ainda conectado, use udevadm info --path=/your/device/path --attribute-walk para encontrar alguns atributos que diferenciem seu dispositivo de outros (como ATTR{idVendor} e ATTR{idProduct} ).

Quando você tem isso, você pode construir uma regra do udev a ser acionada ao conectar o dispositivo. Veja os arquivos em /etc/udev/rules.d/ para saber como eles são. Aquele que você provavelmente estará construindo terminará com RUN+="some command" . Observe que os identificadores ( SUBSYSTEM= , ATTRS= etc.) usados nessa linha devem todos vir da descrição do mesmo dispositivo - o mesmo bloco de udevadm info --attribute-walk output.

A segunda parte da tarefa é encontrar amixer configurações que atendem às suas necessidades para cada cenário e agrupá-las em um comando que você colocará na regra RUN+= da regra do udev. Com isso, não posso ajudá-lo, pois não tenho hardware semelhante.

    
por 24.08.2011 / 21:47
3

Como Caleb mencionou, o PulseAudio permite migrar fluxos de um dispositivo para outro.

Para alternar automaticamente, em vez de passar manualmente pelo pavucontrol , adicione o módulo module-switch-on-connect à configuração do PulseAudio, conforme descrito aqui:

link

    
por 20.06.2014 / 20:16
2

Se você ainda não tem, pulseaudio lhe dará esse tipo de flexibilidade em um console de roteamento muito fácil de usar chamado pavucontrol . Os dispositivos preferidos e de fallback podem ser definidos por aplicativo e padrões do sistema.

    
por 24.08.2011 / 23:59
0

Acabei de comprar um headset da Plantronics e tive o mesmo problema. Ele foi resolvido seguindo o link :

Editado o arquivo /etc/modprobe.d/50-alsa.conf para definir a ordem padrão:

options snd slots=snd-usb-audio,snd-hda-intel

Também excluí todas as outras configurações relacionadas, ou seja, /etc/modprobe.d/50-sound* .

Eu verifiquei o plug-in / desconectamento do fone de ouvido e observei a saída de aplay -l

Isso estava usando o openSUSE 12.2 e o Plantronics .Audio 655.

    
por 08.04.2013 / 15:15