pavucontrol mostra a saída de linha desconectada quando os fones de ouvido estão conectados

4

Eu tenho meus alto-falantes conectados ao conector de saída de linha. Quando eu conecto meus fones de ouvido à entrada frontal do fone de ouvido, os alto-falantes ficam sem áudio e o som é reproduzido nos fones de ouvido, como esperado. No entanto, quando eu abro pavucontrol e manualmente seleciono para enviar o som para o Line Out (que está listado como desconectado) ele silencia os fones de ouvido (como esperado) mas NÃO reproduz os alto-falantes.

Eu tentei muitas permutações diferentes de pactl e pacmd , com set-sink-port e outros comandos, e todas as vezes, nada muda, ou os alto-falantes e os fones de ouvido ficam em silêncio, como quando tento para fazer isso com pavucontrol .

TL; DR; Eu quero poder alternar entre fones de ouvido e alto-falantes enquanto os dois estiverem conectados, mas os alto-falantes estão SEMPRE silenciosos quando meus fones de ouvido estão conectados.

Estou usando o Fedora 23 atualizado com a área de trabalho do KDE 5.

    
por BenjiWiebe 03.03.2016 / 01:39

1 resposta

7

  1. Abra o alsamixer. Em seguida, pressione F6 para selecionar sua placa de som, provavelmente terminando com PCH.
  2. Vá para a direita até encontrar a opção Auto-Mute .
  3. Pressione a seta para cima ou para baixo para desativá-lo. Pressione Esc para sair do alsamixer.

Useoseguintescriptparaautomatizá-lo.

#!/bin/shNAME=$(basename--"$0")

command -v amixer >/dev/null 2>&1 || { echo >&2 "amixer not installed"; exit 1; }
command -v pacmd >/dev/null 2>&1 || { echo >&2 "pacmd not installed"; exit 1; }

amixer -c1 sset "Auto-Mute Mode" Disabled > /dev/null

if [ -z $1 ]; then
  echo -e "Usage:\nFront Speakers\t: $NAME 0\t\nHeadphones\t: $NAME 1\nBoth Speakers\t: $NAME 2"
  exit 1
elif [ $1 -eq 0 ] 2> /dev/null; then
  pacmd set-sink-port 1 analog-output-lineout
  amixer -c1 set Headphone 0% > /dev/null
  amixer -c1 set Front 100% > /dev/null
elif [ $1 -eq 1 ] 2> /dev/null; then
  pacmd set-sink-port 1 analog-output-headphones
  amixer -c1 set Front 0% > /dev/null
  amixer -c1 set Headphone 100% > /dev/null
elif [ $1 -eq 2 ] 2> /dev/null; then
  pacmd set-sink-port 1 analog-output-headphones
  amixer -c1 set Front 100% > /dev/null
  amixer -c1 set Headphone 100% > /dev/null
else
  echo -e "Invalid argument"
  exit 1
fi

Isso pressupõe que a placa que você está usando seja numerada como 1. Além disso, presume-se que suas portas PulseAudio sejam denominadas saída de linha analógica e fones de saída analógica . Salve como algo como speakers.sh e chmod para definir o bit de execução.

Execute speakers.sh 1 para fones de ouvido e speakers.sh 0 para palestrantes.

    
por 09.04.2016 / 07:34