Ubuntu 22.04 で Bluetooth ヘッドセットをデフォルトで HFP プロファイルと mSBC コーデックに設定する方法

Ubuntu 22.04 で Bluetooth ヘッドセットをデフォルトで HFP プロファイルと mSBC コーデックに設定する方法

現在、Bluetooth ヘッドセットを Ubuntu 22.04 に再接続するたびに、デフォルトで A2DP Sink プロファイルに設定されます。その後、pavucontrol を使用して、毎回手動で HFP に切り替えます。これを変更し続けなくても済むようにするにはどうすればよいでしょうか?

私は以下の解決策を試しましたBluetooth ヘッドフォンのデフォルトのオーディオ モードを変更する (A2DP シンクと HSP/HFP)どれも機能していないようです。

答え1

私も同様の問題を抱えていました。私のヘッドセットは A2DP のオーディオのみをサポートしており、マイクが機能するには HFP に切り替える必要があります。

私は、pulse audio から pipewire に切り替えました。「Pipewire (WirePlumber >= 0.4.8) [...] は、Bluetooth プロファイルの自動切り替え (アプリケーションがマイクにアクセスする必要がある場合の 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- \
wireplumber

Notice '-' 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の設定

1 つのステップ。PipeWire サンプルから ALSA 構成ディレクトリに構成ファイルをコピーします。

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

パルスオーディオ

すべては pipewire-pulse パッケージによって自動的に行われました。このパッケージは、推奨されているように wireplumber パッケージによってインストールされるはずです。インストールされていない場合は、自分でインストールしてください。Bluetooth

このパッケージを削除するだけで、Bluetooth は PipeWire によって処理されます。

$ sudo apt パルスオーディオモジュール Bluetooth を削除します

終わり

再起動して、次のコマンドを実行して動作するかどうかを確認します。

$ LANG=C pactl info | grep '^サーバー名'

これは単なる回避策であり、質問に直接答えるものではありません。

答え2

同じ問題があります。簡単なコマンドライン回避策は、接続後にシンクを手動で設定することです。

「.profile」または「.bashrc」にエイリアスを設定し、bluetooth-connectの後にコマンドラインで「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>

Bluetooth ヘッドセットを接続した後、次の操作を実行します。

hs

ヘッドフォン設定も簡単に追加できます。例:

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

私もまだ自動ソリューションを探しています。

関連情報