So stellen Sie das Bluetooth-Headset unter Ubuntu 22.04 standardmäßig auf das HFP-Profil und den mSBC-Codec ein

So stellen Sie das Bluetooth-Headset unter Ubuntu 22.04 standardmäßig auf das HFP-Profil und den mSBC-Codec ein

Wenn ich mein Bluetooth-Headset derzeit erneut mit Ubuntu 22.04 verbinde, wird standardmäßig das A2DP-Sink-Profil verwendet. Dann verwende ich pavucontrol, um jedes Mal manuell auf HFP umzuschalten. Wie kann ich das beibehalten, damit ich es nicht ständig ändern muss?

Ich habe die Lösungen inStandard-Audiomodus von Bluetooth-Kopfhörern ändern (A2DP Sink vs. HSP/HFP)und nichts scheint zu funktionieren.

Antwort1

Ich hatte ein ähnliches Problem. Mein Headset unterstützt nur Audio mit A2DP und muss auf HFP umschalten, damit mein Mikrofon funktioniert.

Ich bin von Pulse Audio auf Pipewire umgestiegen. „Pipewire (WirePlumber >= 0.4.8) [...] unterstützt den automatischen Wechsel des Bluetooth-Profils (z. B. den Wechsel von A2DP zu HSP/HFP, wenn eine Anwendung Mikrofonzugriff benötigt).“

Für meinen Anwendungsfall war das eine tolle Lösung. Mein Laptop verwendet bei MS Teams-Anrufen nicht mehr das interne Mikrofon, sondern wechselt automatisch zu meinem Headset mit HFP.

Ich verwende auch Ubuntu 22.04 undPipewire manuell installiert.

Installieren

Installieren Sie Codecs für LDAC (SBC ist im Lieferumfang enthalten):

$ sudo apt install libldacbt-{abr,enc}2

Installieren Sie die restlichen PipeWire-Pakete und WirePlumber als Sitzungsmanager:

$ 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

stattdessen.

Starten Sie WirePlumber für Ihren Benutzer:

$ systemctl --user --now aktiviere wireplumber.service

ALSA konfigurieren

Einzelschritt. Kopieren Sie die Konfigurationsdatei aus den PipeWire-Beispielen in Ihr ALSA-Konfigurationsverzeichnis:

$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

PulseAudio

Alles wurde automatisch vom Pipewire-Pulse-Paket erledigt, das wie empfohlen vom Wireplumber-Paket installiert werden sollte. Wenn nicht, installieren Sie es selbst. Bluetooth

Entfernen Sie einfach dieses Paket und Bluetooth wird von PipeWire verwaltet:

$ sudo apt entferne pulseaudio-module-bluetooth

Erledigt

Starten Sie neu und prüfen Sie, ob es funktioniert, indem Sie Folgendes ausführen:

$ LANG=C pactl info | grep '^Servername'

Dies ist nur ein Workaround und beantwortet Ihre Frage nicht direkt.

Antwort2

Habe das gleiche Problem. Ein einfacher Workaround über die Kommandozeile ist, den Sink nach dem Connect manuell einzustellen:

Legen Sie einen Alias ​​in Ihrem „.profile“ oder „.bashrc“ fest und verwenden Sie einfach „hs“ in der Befehlszeile nach der Bluetooth-Verbindung

alias hs='pacmd set-card-profile bluez_card.your_device handsfree_head_unit'

Sie finden Ihr Gerät mit:

pacmd list

Und der Name wird ungefähr so ​​aussehen:

name: <bluez_card.AB_CD_EF_12_34_56>

Nachdem Ihr Bluetooth-Headset verbunden ist, gehen Sie wie folgt vor:

hs

Sie können auch ganz einfach eine Kopfhörereinstellung hinzufügen. Beispiel:

    alias hp='pacmd set-card-profile bluez_card.your_device a2dp_sink'

Ich suche auch noch nach einer automatischen Lösung.

verwandte Informationen