Como fazer com que o fone de ouvido bluetooth seja padrão para perfil HFP e codec mSBC no Ubuntu 22.04

Como fazer com que o fone de ouvido bluetooth seja padrão para perfil HFP e codec mSBC no Ubuntu 22.04

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-\
wireplumber

Notice '-' 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.

informação relacionada