
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- \
wireplumberNotice '-' 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.