Como alternar entre fones de ouvido e alto-falantes sem desconectar os fones de ouvido

14

Quando eu conecto meus fones de ouvido, o dispositivo de saída de áudio alterna para os fones de ouvido dos meus alto-falantes.

Em vez de ligar / desligar os auscultadores o tempo todo, o que acabará por desgastar o meu cabo / ficha, gostaria apenas de utilizar um interruptor de software.

Quando eu abro as configurações de som e alterno de "Fones de ouvido - & gt; Áudio incorporado" para "Saída de linha - & gt; Áudio incorporado", nenhum som sai do alto-falante ou dos fones de ouvido.

Eu abri o alsamixer para ver o que acontece quando eu conecto / desconecto os fones de ouvido.

Fones de ouvido em:

Fones de ouvido fora:

Com os fones de ouvido conectados, eu alterei manualmente todas as configurações para que correspondam às configurações quando os fones de ouvido estão desligados e ainda não recebo nenhum som pelo alto-falante.

Como nota lateral, a alteração do dispositivo de saída de áudio por meio das "Configurações de Som" causa as mesmas alterações no alsamixer.

    
por user276318 22.12.2015 / 22:05

6 respostas

4

hdajackretask é uma ferramenta para reatribuir a função de seus conectores para entrada, saída ou desativação diferentes - por exemplo, transformar o conector do microfone em um fone de ouvido extra ou porque não conectá-los ao seu receptor surround?

Instale alsa-tools-gui

sudo apt-get update
sudo apt-get install alsa-tools-gui

Executar hdajackretask Then Para substituir um dos seus jaques:

  1. Selecione um codec
  2. Clique na caixa de seleção "Substituir" desse pino e selecione o novo função desejada
  3. Clique em "Aplicar agora"

    Nota: Se o conector de fone de ouvido tiver um interruptor de hardware integrado que redireciona o áudio, você está SOL (Desculpe, sem sorte). No entanto, se o sistema operacional detectar quando uma linha está conectada ao conector de fone de ouvido, o áudio provavelmente não será comutado mecanicamente.

Descobri que substituir os fones de ouvido e os alto-falantes ao mesmo tempo funciona melhor.


hdajackretask Screenshot para mudar o fone de ouvido para alto-falantes:


Depois de clicar em "Aplicar agora", um script de shell é criado para que as alterações e solicitações de senha de superusuário sejam executadas. O script também é salvo em /tmp , que pode ser copiado e depois executado com sudo na linha de comando.



Execução de linha de comando

Como mencionado anteriormente, hdajackretask cria um script, script.sh in /tmp semelhante a /tmp/hda-jack-retask-QW1EEZ/ para as funções do jack que você deseja:

#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log


Copie este script em algum outro lugar em seu sistema (diferente de / tmp)

cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh

Em seguida, edite o speaker.sh

cd ~username
nano speaker.sh

Adicione a linha killall pulseaudio & na parte superior do arquivo. Isso é necessário porque a função jack não pode ser alterada enquanto pulseaudio estiver em execução. Por padrão pulseaudio irá reaparecer. Altere também o caminho do arquivo errors.log para /tmp ou de onde você quiser:

#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log


Para executar o script:

sudo ./speaker.sh



A partir da documentação do alsa-tools-1.1.5 / hdajackretask / README :

Documentação para hdajackretask

A maioria das placas de som Intel HDA é até certo ponto reavaliada, e pode ser usada para mais de uma coisa. Esta ferramenta é uma interface gráfica para facilitar a retocagem de seus conectores - por exemplo, transformar o conector do microfone em um fone de ouvido extra ou, por que não, separá-los e conectá-los ao seu receptor surround?

Início rápido

Inicie o aplicativo "hdajackretask" na linha de comando. Selecione um codec na barra superior; algumas pessoas têm apenas uma - se você tiver mais de uma, uma é a "principal", e as outras são provavelmente codecs HDMI.

Todos os conectores (e outras entradas / saídas) são mostrados em "Configuração de pinos". Para substituir um de seus conectores, clique na caixa de seleção "Substituir" desse pino e selecione a função desejada. Nota: Se você selecionar uma substituição de "Saída de linha (voltar)", também deverá ter uma substituição "Saída de linha (frontal)". Uma substituição "Line out (Center / LFE)" funcionará apenas com as duas substituições anteriores, e assim por diante.

Você pode experimentar sua nova configuração clicando em "Aplicar agora". Para tornar sua nova configuração o padrão de inicialização, clique em "Instalar reinicialização de inicialização". Fazer qualquer um deles requer privilégios de root, então você provavelmente será perguntado por sua senha.

Quickend

Você errou? Clique no botão "Remover boot override" e, assim que o processo estiver concluído, desligue o computador, aguarde um pouco e ligue-o novamente. Agora você deve estar de volta onde você começou.

Funcionou?

Se sim, seja feliz, compartilhe sua alegria, faça algo de bom!

Se não, aqui estão algumas coisas para tentar:

  • Entre no alsamixer e veja se há novos controles de volume, e veja se eles estão com som e definidos para um valor razoável.

  • Às vezes, o motorista não desliga os pinos desconectados (se eles não estiverem conectados, por que se preocupar?). Você pode consertar isso desligando o computador por alguns instantes.

  • Veja a opção "model = auto" abaixo

Se isso não ajudar, há grandes chances de você encontrar um driver ou uma limitação de hardware. Você pode se deparar com erros de driver (talvez ninguém tenha testado quatro fones de ouvido antes!). Se fizer isso, sinta-se à vontade para denunciá-los na mailinglist do alsa-devel: no entanto, devido à falta de mão de obra, as chances são de que isso seja tratado com uma prioridade muito baixa (ter um som pronto para ser usado em uma configuração padrão). mais importante do que suportar configurações estranhas). No entanto, se você for um hacker do kernel e criar um patch que resolva seu problema sem estragar mais nada, as chances são altas de que ele será mesclado.

Se você suspeitar que o problema está com este aplicativo GUI em vez do driver do kernel, sinta-se à vontade para me escrever um e-mail (e, se preferir, inclua um patch!). Em caso afirmativo, escreva para [email protected].

Opções

  • Mostrar pinos não conectados Seu BIOS é responsável por configurar quais pinos no codec estão realmente conectados a algo e quais não estão. Às vezes, o BIOS apresenta bugs e não mostra todos os seus conectores. Se você tem um conector que seu BIOS diz que não tem, você pode tentar ativar pinos aleatórios e ver se funciona.

  • Definir modelo = auto Alguns codecs, especialmente os mais antigos e nos kernels 3.8 e abaixo, são codificados para usar um modelo específico e, portanto, não se importam com suas substituições. Em muitos casos e com um kernel razoavelmente novo, o analisador automático também funciona bem para esses codecs. Você pode forçar o analisador automático a ser usado, marcando esta caixa. Em alguns casos, no entanto, o modelo explícito está lá por um motivo; se estiver, você está preso.

  • Substituição avançada Isto é apenas para os especialistas. Isso faz com que você selecione cada campo de configuração individualmente, em vez de apenas alguns valores predefinidos que fazem sentido. Note que a maioria das combinações aqui são inválidas de uma forma ou de outra, então você provavelmente não deve mexer com isso a menos que tenha lido e entendido a seção "Configuração padrão" da especificação HD Audio. (Que, no momento da redação deste artigo, está disponível aqui: link )

  • Dicas do analisador Isso permite que você envie "dicas" especiais para o driver que fazem com que a análise se comporte de maneira diferente. Deixe-os na configuração "padrão", a menos que você tenha lido a documentação do driver. (Que, no momento da redação deste artigo, está disponível aqui: link - veja a seção "Hint strings".)

por stumblebee 14.02.2018 / 01:56
3

Para possibilitar a alternância entre alto-falantes e fones de ouvido, siga estas etapas:

  1. Executar alsamixer .
  2. Se necessário, selecione sua placa de som com F6 .
  3. Navegue até "Auto-Mute" com a seta para a direita .
  4. Desativar com a seta para baixo .
  5. Pressione Esc para sair.

Agora você pode alternar entre alto-falantes e fones de ouvido no Controle de Volume do PulseAudio.

    
por GoodGuyNick 28.10.2016 / 23:48
3

Com alto-falantes e fones de ouvido conectados e ligando o software imediatamente

Por padrão, o Pulseaudio desliga automaticamente a saída de linha quando os fones de ouvido estão conectados e usa o controle deslizante Headphone. Você pode observar esse comportamento no alsamixer. O que queremos é ter os controles deslizantes Headphone e Line Out trabalhando separadamente e ao mesmo tempo. Isso é extremamente útil se você quiser remapear os conectores do Realtek para ter, por exemplo, o Rear Green para fones de ouvido e o Blue para alto-falantes (com a ajuda do hdajackretask da alsa-tools).

Para conseguir isso, você deve editar diretamente a configuração do mixer Pulseaudio.

1. Dizemos ao pulseaudio que os fones de ouvido estão sempre conectados.

Editar:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf

Encontrar:

[Jack Headphone]
state.plugged = no
state.unplugged = unknown

Altere no para yes .

Se você estiver usando os conectores na parte frontal do gabinete do seu computador, altere [Jack Front Headphone] .

2. Por padrão, o volume da saída de linha é controlado apenas pelo controle mestre e não pelo controle deslizante de saída de linha.

Queremos mesclar o Line Out com o Master. Adicione este snippet ao final do arquivo:

[Element Line Out]
switch = mute
volume = merge

3. Precisamos cortar completamente o Line Out quando usamos fones de ouvido.

Editar:

/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf

Adicione este snippet ao final do arquivo:

[Element Line Out]
switch = off
volume = off

Em alguns sistemas, você também pode precisar desativar o Front adicionando este snippet:

[Element Front]
switch = off
volume = off

4. Como o Pulseaudio, a própria Alsa corta os alto-falantes quando os fones de ouvido são conectados.

Abra o alsamixer: alsamixer -c0 ou alsamixer -c1

Use / para o modo Auto-Mute. Desabilite o modo Auto-Mute com . Feche o alsamixer com Esc .

Salve suas alterações com: alsactl store

5. Reinicie o Pulseaudio

$ pulseaudio -k
$ pulseaudio --start

Agora você tem duas portas separadas no mesmo coletor no pulseaudio. Eles silenciam um ao outro, então você pode mudar para fones de ouvido e isso irá silenciar o Line Out, e vice-versa. Para alternar entre as portas, você pode usar o mixer de som Gnome ou Plasma ou instalar a extensão de área de trabalho apropriada.

Source

    
por WinEunuuchs2Unix 14.02.2018 / 03:17
2

No KDE isso pode ser feito:

configurações do sistema - & gt; multimídia - & gt; configurações de áudio e vídeo - & gt; guia de configuração de hardware de áudio & gt; selecione a placa de som apropriada & gt; sob Conector você verá a opção de fones de ouvido e alto-falantes.

    
por haytham-med haytham 23.12.2015 / 01:55
1

Comutador de Saída de Áudio e Extensão do Gnome-Shell

a maneira mais simples é instalar extensão do alternador de saída de áudio

ou você pode clonar com o git diretamente:

git clone https://github.com/adaxi/audio-output-switcher.git ~/.local/share/gnome-shell/extensions/audio-output-switcher@anduchs

Esta extensão adiciona uma pequena entrada ao menu de status que mostra o dispositivo de pulso de saída de áudio atualmente selecionado. Clicando em que irá abrir um submenu com todos os dispositivos de saída disponíveis e vamos escolher qual deles usar.

    
por Jastria Rahmat 14.02.2018 / 10:37
0

Você poderia usar o Indicador de comutador de som , se não se importar em adicionar um PPA.

Isso lhe dará um indicador na bandeja do sistema em que você pode clicar para alterar as fontes de áudio de entrada ou saída. Você pode ler mais no link .

Método de terminal

Para instalar, usando um terminal, digite o seguinte.

sudo add-apt-repository ppa:yktooo/ppa
sudo apt-get update
sudo apt-get install indicator-sound-switcher

Método GUI

Para instalar, usando a GUI, siga estas etapas:

  1. Inicie o Software & amp; Atualizações app do Unity Dash.

  2. Clique no na guia "Outro Software". Em seguida, adicione a seguinte nova fonte:

    deb http://ppa.launchpad.net/yktooo/ppa/ubuntu vivid main
    

    (Lembre-se de substituir "vivid" pelo seu lançamento do Ubuntu. As versões estão listadas no link ).

  3. Inicie o Ubuntu Software Center no Unity Dash.

  4. Pesquise por "Indicador do seletor de entrada / saída de som" e instale-o.

Observação: essa solução não funcionará se o seu sistema tiver um switch de hardware dentro da entrada de fone de ouvido, conforme sugerido por Terrance acima.

    
por PJ Singh 23.12.2015 / 05:34