
目前,每當我將藍牙耳機重新連接到 Ubuntu 22.04 時,它都會預設使用 A2DP Sink 設定檔。然後我每次都使用 pavucontrol 手動切換到 HFP。我怎麼能讓它堅持下去,這樣我就不必不斷改變它?
我已經嘗試過解決方案變更藍牙耳機預設音訊模式(A2DP Sink 與 HSP/HFP)似乎都不起作用。
答案1
我有類似的問題。我的耳機僅支援 A2DP 音頻,需要切換到 HFP 才能使我的麥克風正常工作。
我從脈衝音頻切換到管道線。 “Pipewire (WirePlumber >= 0.4.8) [...] 支援自動藍牙設定檔切換(例如,當應用程式需要存取麥克風時從 A2DP 切換到 HSP/HFP)。”
對於我的用例來說,這是一個很好的解決方案。我的筆記型電腦在加入 MS Teams 通話時不再使用內建麥克風,而是透過 HFP 自動切換到我的耳機。
我也在運行 Ubuntu 22.04手動安裝 Pipewire。
安裝
安裝 LDAC 編解碼器(SBC 開箱即用):
$ sudo apt install libldacbt-{abr,enc}2
安裝剩餘的 PipeWire 套件和 WirePlumber 作為會話管理器:
$ 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
反而。
為您的使用者啟動 WirePlumber:
$ systemctl --user --now 啟用wireplumber.service
配置ALSA
一小步。將 PipeWire 範例中的設定檔複製到 ALSA 設定目錄中:
$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
脈衝音頻
一切都是由 pipeline-pulse 套件自動完成的,該套件應該按照建議由wireplumber 套件安裝。如果沒有,請自行安裝。藍牙
只需刪除此包,藍牙將由 PipeWire 處理:
$ sudo apt 刪除pulsaudio-module-bluetooth
完畢
重新啟動並執行以下命令檢查其是否有效:
$ LANG=C pactl 資訊 | grep '^伺服器名稱'
這只是一種解決方法,並不能直接回答您的問題。
答案2
有同樣的問題。一個簡單的命令列解決方法是在連接後手動設定接收器:
在“.profile”或“.bashrc”中設定別名,然後在藍牙連接後在命令列上使用“hs”
alias hs='pacmd set-card-profile bluez_card.your_device handsfree_head_unit'
您可以透過以下方式找到您的裝置:
pacmd list
名稱將是這樣的:
name: <bluez_card.AB_CD_EF_12_34_56>
連接藍牙耳機後,請執行以下操作:
hs
您也可以輕鬆新增耳機設定。例如:
alias hp='pacmd set-card-profile bluez_card.your_device a2dp_sink'
我仍在尋找自動解決方案。