
Atualmente, sempre que reconecto meu fone de ouvido Bluetooth ao Ubuntu 22.04, o padrão é o perfil A2DP Sink. Em seguida, uso o pavucontrol para mudar manualmente para o HFP sempre. Como faço para que isso fique para não ter que ficar mudando isso?
Eu tentei as soluções emAlterar o modo de áudio padrão dos fones de ouvido Bluetooth (coletor A2DP vs HSP/HFP)e nenhum parece funcionar.
Responder1
Eu tive uma questão semelhante. Meu fone de ouvido suporta apenas áudio com A2DP e precisa mudar para HFP para que meu microfone funcione.
Mudei de áudio pulsado para pipewire. "Pipewire (WirePlumber >= 0.4.8) [...] suporta troca automática de perfil Bluetooth (por exemplo, mudança de A2DP para HSP/HFP quando um aplicativo precisa de acesso ao microfone)."
Esta foi uma ótima solução para meu caso de uso. Meu laptop não usa mais o microfone interno ao ingressar em chamadas do MS Teams, mas muda automaticamente para meu fone de ouvido com HFP.
Também estou executando o Ubuntu 22.04 einstalou o Pipewire manualmente.
Instalar
Instale codecs para LDAC (o SBC já vem incluído):
$ sudo apt instalar libldacbt-{abr,enc}2
Instale os pacotes restantes do PipeWire e o WirePlumber como gerenciador de sessão:
$ sudo apt install\libspa-0.2-bluetooth\
pipewire-audio-client-libraries\pipewire-media-session-\
wireplumberNotice '-' at the end of 'pipewire-media-session'. This is to remove it in the same command, because 'wireplumber' will be used
em vez de.
Inicie o WirePlumber para seu usuário:
$ systemctl --user --now habilite wireplumber.service
Configurar ALSA
Único passo. Copie o arquivo de configuração dos exemplos do PipeWire para o diretório de configuração do ALSA:
$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
PulsoÁudio
Tudo foi feito automaticamente pelo pacote pipewire-pulse, que deveria ter sido instalado pelo pacote wireplumber conforme recomendado. Caso contrário, instale você mesmo. Bluetooth
Basta remover este pacote e o Bluetooth será tratado pelo PipeWire:
$ sudo apt remover pulseaudio-module-bluetooth
Feito
Reinicie e verifique se funciona executando:
$ LANG=C informações do pacto | grep '^Nome do servidor'
Esta é apenas uma solução alternativa e não responde diretamente à sua pergunta.
Responder2
Tenho o mesmo problema. Uma solução alternativa simples de linha de comando é definir o coletor manualmente após a conexão:
Defina um alias em seu “.profile” ou “.bashrc” e simplesmente use “hs” na linha de comando após a conexão bluetooth
alias hs='pacmd set-card-profile bluez_card.your_device handsfree_head_unit'
Você pode encontrar seu dispositivo com:
pacmd list
E o nome será mais ou menos assim:
name: <bluez_card.AB_CD_EF_12_34_56>
Depois que seu fone de ouvido Bluetooth estiver conectado, faça:
hs
Você também pode adicionar facilmente uma configuração de fones de ouvido. Por exemplo:
alias hp='pacmd set-card-profile bluez_card.your_device a2dp_sink'
Ainda estou procurando uma solução automática também.