Windows 11 での Bluetooth ヘッドセット音質劣化対策
Bluetooth ヘッドセットを Windows で使用していると、OBS やキャプチャーソフト利用中に、突然音質が大きく劣化することがあります。多くの場合、Bluetooth の Hands-Free Profile(HFP)が自動的に有効化され、通話モードへ切り替わってしまうことが原因です。
Windowsの設定から変更は可能ですがデバイスの再接続や PC の再起動によって設定が元に戻ってしまうことがあり、毎回操作するのは少し手間です。そこで、再発時にすぐ切り替えられるよう、PowerShell スクリプトを用意しました。
手動で通話モードを切る(GUI)
Bluetooth デバイスを PC に接続した状態で、以下の手順を行います。
- 「設定」→「Bluetooth とデバイス」→「デバイス」と進む
- メニュー一番下の「その他のデバイスとプリンターのその他の設定」をクリック(間違えやすい)
- 対象の Bluetooth ヘッドセットを右クリックして「プロパティ」を開く
- 「サービス」タブに切り替え、「ハンズフリー テレフォニー」のチェックを外す

- 「OK」をクリックして完了
この方法で通話モードを無効化できます。
スクリプトによる切り替え(再発対策)
用意した PowerShell スクリプトは以下の 2 つです。
check-handsfree.ps1
Hands-Free 関連デバイスの状態確認および機器名取得用toggle-handsfree.ps1
Hands-Free を OFF / ON / TOGGLE する本体スクリプト(管理者権限が必要)
使い方の概要は次のとおりです。
- 管理者として PowerShell を起動する
check-handsfree.ps1を実行し、対象デバイスの名称を確認する- 確認した名称を指定して
toggle-handsfree.ps1を実行する

例としては、次のような使い分けができます。
- 配信・録音・ゲーム時は Hands-Free を OFF
- 通話を行う直前に Hands-Free を ON
私は通話の頻度が低いため、必要なタイミングで手動切り替えを行っています。
GitHubリポジトリ: catnipglitch/windows11-scripts
※今回のBluetooth Hands-Free Profile切り替えスクリプトは、上記リポジトリ内の bluetooth_handsfree_toggle フォルダにあります。





コメント