Cada vez que eu quero usar o Skype, tenho que ir nas preferências de som. E aí, vire a entrada de áudio para " webcam " e desmarque o botão " silenciar ". É muito chato. Existe uma maneira de manter sempre a mesma configuração?
Cada vez que eu quero usar o Skype, tenho que ir nas preferências de som. E aí, vire a entrada de áudio para " webcam " e desmarque o botão " silenciar ". É muito chato. Existe uma maneira de manter sempre a mesma configuração?
Respostas:
Ao executar o pulseaudio, todas as configurações podem ser definidas colocando os arquivos de configuração personalizados no .pulse
diretório oculto da sua HOME. Se esses arquivos ainda não existirem, você poderá usar os arquivos padrão /etc/pulse/
como modelo. A maioria das entradas possui explicações verbais nesses arquivos.
~/.pulse/default.pa
carregar módulos e definir padrões~/.pulse/client.conf
configurar um cliente para o servidor de som~/.pulse/daemon.conf
definir taxas de amostragem e buffersPara tornar sua webcam a fonte padrão, precisamos saber o nome e o número dessa fonte, consultando a lista produzida pelo seguinte comando em um terminal:
pacmd list-sources
Em seguida, editamos a seguinte linha em ~/.pulse/default.pa
:
set-default-source [name]
e substitua [name]
pelo nome ou pelo número da fonte da fonte desejada. Em seguida, precisamos garantir que a fonte não fique emudecida adicionando esta linha:
set-source-mute [name]|[#n]> 0
Dê o nome ou o índice da sua fonte. Você pode adicionar uma variedade de outras configurações referenciadas no PulseAudio Wiki (agora na página de manual:) man pulse-cli-syntax
.
É recomendável primeiro testar todos os comandos através da interface da linha de comandos antes de alterar os arquivos de configuração. Isso pode ser aberto com pacmd
um terminal
/etc/pulse/default.pa
. Use este arquivo ou copie-o ~/.pulse
antes de editar.
pacmd list-sources
. Ou seja, com o meu dispositivo era set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.
Concordo que o problema é que o Pulseaudio não define um dispositivo USB como padrão porque ele não está presente quando o pulso é iniciado.
Soo minha solução para isso é para ligar para o sistema que faz aviso quando um dispositivo USB é conectado ... UDEV!
BTW, essas instruções são um pouco descoladas, e eu suponho que você esteja confortável fazendo coisas na linha de comando e se tornando o usuário root para atualizar arquivos do udev e tornando os scripts executáveis.
O primeiro passo é conectar sua webcam e encontrar o número mágico do fornecedor e do produto digitando
lsusb
Estou usando um Microsoft Lifecam, e ele aparece como
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
a parte importante é 045e: 072d
Em seguida, enquanto a webcam estiver conectada, descubra o nome do dispositivo pulseaudio. Tipo
pacmd list-sources
Mais uma vez, estou procurando a linha que começa name:
e, em seguida, tem algo sobre um Microsoft Lifecam ... aqui está
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
então o nome do meu dispositivo pulseaudio será alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Em seguida, criei uma nova regra do udev que é acionada quando um dispositivo USB com fornecedor = 045e e produto = 072d é inserido. Para fazer uma regra, crie um novo arquivo chamado /etc/udev/rules.d/
ALGO.rules
(chamei meu arquivo /etc/udev/rules.d/95-webcam-mic.rules
).
Coloque esta linha no arquivo
SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"
Lembre-se de substituir ATTR {idVendor} e ATTR {idProduct} pelos valores da sua webcam.
O que essa regra faz é executar um script para definir o dispositivo USB para entrada, essa é a RUN+="/usr/local/bin/webcam-mic"
parte.
Tempo de visão geral rápida. Cada vez que conecto minha webcam, desejo executar o comando
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Mas o comando precisa ser executado como eu (o usuário que está executando a área de trabalho), mas o udev é executado como usuário root - portanto, quando o udev executa meu comando, preciso que ele mude para meu usuário e execute o comando.
Então, temos 2 opções.
Rápido e sujo . Faça a regra do udev rodar, su james -c pacmd set-default-source...
isso é tão errado que eu nem consigo terminar de digitar o comando. E se você mudar de webcam? E se você instalar isso para outro usuário?
Ligeiramente mais limpo . Execute um script que leia um arquivo padrão com o nome do dispositivo pulseaudio e seu nome de usuário. Se você quiser os arquivos, eles estão no GitHub. Primeiro o script /usr/local/bin/webcam-mic
. O arquivo padrão /etc/default/webcam-mic
só precisa definir as 2 variáveis do shell, conforme o comentário na lista principal. Coloque o script /usr/local/bin/
e torne-o executável. Em seguida, coloque o arquivo padrão /etc/defaults/
e edite-o para usar seu nome de usuário e o dispositivo pulseaudio anteriores.
Boa sorte!
A solução de Takkat não estava funcionando para mim, aqui está a minha solução para quem ainda está tendo um problema com isso.
Havia dois problemas para mim com a solução de Takkat. Primeiro, percebi que é preciso haver um atraso após a inicialização antes que a mudança para o microfone possa ocorrer (eu uso o comando 'suspensão' na minha solução abaixo). Além disso, o comando 'set-default-source' estava funcionando para ligar o microfone USB, mas de alguma forma o Skype não estava reconhecendo isso e continuou a usar o microfone interno.
Para que isso funcione, primeiro é útil instalar o pavucontrol. No pavucontrol, abra a guia 'Configuração' e observe o que acontece com os comandos abaixo para verificar se as coisas estão funcionando conforme o esperado.
Em seguida, de um terminal, digite:
pacmd
A partir daí, digite:
list-cards
Na saída, encontre o número de índice do áudio USB que você deseja (no meu caso, era '1'). Dê uma olhada nas linhas listadas em 'perfis' para o cartão padrão e o cartão USB. Devem ser iguais aos listados no pavucontrol e podem ser algo como 'ouput: input + output', 'off' ou 'input: analog-mono' etc. Ainda na linha de comando pacmd, o comando set-card-profile <index number> <profile name>
deve mudar as configurações no pavucontrol. O que queremos fazer aqui é mudar o áudio interno de duplex para somente saída e o USB para entrada.
Depois de encontrar os perfis apropriados, queremos criar um comando de inicialização para alterar algumas configurações logo após a inicialização. Para criar um comando de inicialização, abra o traço e procure por 'aplicativos de inicialização', clique em 'adicionar', digite um nome de sua escolha e o comando apropriado abaixo.
Após tentativa e erro, meu comando de inicialização acabou assim:
bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"
Explicação: Descobri que o comando 'sleep' era necessário, o que significa que o comando é executado após uma pausa, que defini para 30 segundos (acho que isso pode ser menor, brinque com isso). O próximo comando (depois de '&&') é fazer com que o perfil do cartão (interno) padrão mude de entrada + saída (duplex, que é o padrão) para somente saída. O próximo comando é para a placa de som USB (no meu caso, o número é '1') para desligar. O último comando é que esse mesmo cartão seja reativado no modo 'input: analog-mono'
Você pode ter que brincar com essas configurações, para encontrar a que funciona.
Agora, quando eu inicializo, meu microfone USB está pronto para uso após 30 segundos, e o Skype usa o microfone correto.
tente isso, clique no ícone do alto-falante no painel superior, nas preferências de clique. lá você pode selecionar uma opção de entrada padrão para o seu microfone e provavelmente alterar algumas configurações de hardware para fazê-lo funcionar corretamente.