Linux PCを携帯電話のBluetoothスピーカーとして使用できることをご存知ですか?いいえ?問題ない! LinuxPCを携帯電話用のBluetoothスピーカーに変える方法を説明します。
まだわからない場合は、携帯電話でオーディオファイルまたはビデオファイルを再生し、 Pulseaudioを使用してBluetooth経由でラップトップまたはデスクトップでそれらを聞くことができます。 。
これをもっと簡単に言えば、PulseaudioとBluetoothを使用して、携帯電話からコンピューターにサウンドをリダイレクトできます。
前提条件
もちろん、Bluetooth対応の携帯電話とLinux PC(デスクトップまたはラップトップ)が必要です。 GNU / Linuxを実行しているPCには、Bluetoothハードウェア機能(Bluetooth受信機と送信機)が必要です。
これは、Ubuntu18.04LTSと古いHPTabletPCで動作するDELLラップトップでテストしました。
まず、 Bluezがインストールされていることを確認します 、 Pulseaudio およびpulseaudiobluetoothモジュール Linuxシステムで。ほとんどのLinuxディストリビューションには、これらのツールがプリインストールされています。不足している場合に備えて、以下のようにインストールしてください。
LinuxにBluezをインストールする
Arch LinuxとそのバリアントにBluezをインストールするには、以下を実行します:
$ sudo pacman -S bluez
Debian、Ubuntuの場合:
$ sudo apt install bluez
Fedora、CentOS、RHELの場合:
$ sudo dnf install bluez
または、
$ sudo yum install bluez
openSUSEの場合:
$ sudo zypper install bluez
Bluezをインストールした後、Bluetoothサービスが開始され、起動時に有効になっていることを確認してください。
$ sudo systemctl start bluetooth
$ sudo systemctl enable bluetooth
Bluetoothのステータスを確認するには、次のコマンドを実行します。
$ systemctl status bluetooth
LinuxにPulseaudioをインストールする
PulseAudio は、freedesktop.orgプロジェクトを介して配布されるオープンソースのクロスプラットフォームのネットワーク対応サウンドサーバープログラムです。
Linux、およびFreeBSDやOpenBSD、macOSなどのさまざまなBSDディストリビューションをサポートしています。 Pulseaudioは、ほとんどのLinuxディストリビューションのデフォルトのリポジトリで利用できます。
Bluetooth経由での再生を有効にするには、pulseaudiobluetoothモジュールをインストールする必要があります。
次のコマンドを実行して、Pulseaudioおよびその他の必要なプログラムをArchLinuxおよびそのバリアント(EndeavourOSやManjaro Linuxなど)にインストールします。
$ sudo pacman -S pulseaudio pavucontrol pulseaudio-bluetooth
Debian、Ubuntu、Linux Mintでは、次のコマンドを実行するだけです:
$ sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth
Fedora、RHEL 8、AlmaLinux 8、Rocky Linux 8:
$ sudo dnf install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth
CentOS 7.x.、RHEL 7.x:
$ sudo yum install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth
openSUSE:
$ sudo zypper install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth
LinuxPCと携帯電話のペアリング
携帯電話がPCとペアリングされていることを確認してください。 Bluetoothのペアリングはとても簡単です!おそらくすでに何度もそれを行ったことがあるでしょう。
携帯電話とLinuxシステムでBluetoothをオンにします。
Androidデバイスで、[設定]ウィンドウからBluetoothをオンにします。
AndroidフォンでBluetoothをオンにする
Ubuntu GNOMEでは、Bluetoothはシステム設定からオンに切り替えることができます。
UbuntuでBluetoothをオンにする
両方のデバイスでBluetoothがオンになると、最も近いBluetoothデバイスのスキャンが開始され、それらが一覧表示されます。 Linux PCから、デバイスをクリックするだけでペアリングできます。
UbuntuでBluetoothデバイスをペアリングする
携帯電話にも同じBluetoothPINが表示されます。 ペアをクリックするだけです LinuxPCとペアリングします。
AndroidでのBluetoothペアリング
モバイルがUbuntuPCとペアリングされると、Bluetoothセクションの[デバイス]タブに表示されます。
Bluetooth経由でAndroid携帯とUbuntuをペアリングする
同様に、LinuxPCが携帯電話の[ペアリングされたデバイス]タブに一覧表示されます。
Bluetooth経由でUbuntuPCとAndroidフォンをペアリングする
これで、両方のデバイスがペアリングされ、使用できるようになりました。
LinuxPCを携帯電話用のBluetoothスピーカーに変える
私のUbuntu18.04デスクトップでは、そのままで問題なく動作しました。実際には設定は必要ありません!
「pulseaudio-module-bluetooth」パッケージをインストールし、電話をPCとペアリングすると、ラップトップから電話で再生されている音楽をすぐに聞くことができます。
モバイルデバイスまたはコンピューターから音量を調整できました。 Pusleaudioが舞台裏ですべての面倒を見てくれたと思います。 Pulseaudioは素晴らしいです!
なんらかの理由でそのままでは機能しない場合は、〜/ .config / pulse / system.paという名前のファイルを作成します。 :
$ mkdir ~/.config/pulse/
$ nano ~/.config/pulse/system.pa
その中に次の行を追加します:
.include /etc/pulse/system.pa load-module module-bluetooth-policy load-module module-bluetooth-discover
ファイルを保存して閉じます。次のコマンドを使用して変更を有効にするには、Bluetoothサービスを再起動します。
$ sudo systemctl restart bluetooth
「/etc/pulse/system.pa」ファイルを直接編集して変更を加えることができます。ただし、システム全体の構成ファイルを編集しないことを強くお勧めします。 、むしろユーザーのものを編集します。
そのため、 "〜/.config/pulse"を作成する必要があります ディレクトリを作成し、システム構成ファイルをそのディレクトリにコピーして、必要に応じて編集します。
〜/ .config / pulse / default.paファイルは、完全なコピーではなく、"。include/etc/pulse/default.pa"の行で始めることができます。 次に、デフォルトを上書きします。これにより、将来、pulseaudioが更新されたときに問題が発生するのを防ぐことができます。
Pulseaudioのトラブルシューティング
追加の設定をしなくても、ラップトップをBluetoothスピーカーに瞬時に変えることができましたが、オーディオの再生はひどく、途切れがちです。はい、音声は聞こえますが、迷惑です。
まず、Bluetooth再生プロファイルが A2DP(ハイファイ再生)に設定されていることを確認します 。
これを行うには、DashまたはMenuからPulseaudioボリュームコントロール(Pavucontrol)を開きます。そして、[構成]セクションの[プロファイル]ドロップダウンボックスから[High Fidelity Capture(A2DP Source)]を選択します。
High Fidelity Capture(A2DP Source)を選択
次に、正しいバッファサイズ(レイテンシ)を設定する必要があります。 Bluetoothサウンドが途切れたり、途切れたり、歪んだりする場合は、A2DPの実装と、エンコードする前にサウンドをバッファリングする方法が原因である可能性があります。
オーディオの途切れの問題を修正するために、バッファのサイズを変更しただけです。
まず、コマンドを使用してBluetoothデバイス名とそのポートを見つけます:
$ pactl list | grep -Pzo '.*bluez_card(.*\n)*'
出力例:
Name: bluez_card.7C_D3_0A_0B_D6_30 Driver: module-bluez5-device.c Owner Module: 36 Properties: device.description = "HP 7 VoiceTab" device.string = "7C:D3:0A:0B:D6:30" device.api = "bluez" device.class = "sound" device.bus = "bluetooth" device.form_factor = "phone" bluez.path = "/org/bluez/hci0/dev_7C_D3_0A_0B_D6_30" bluez.class = "0x5a020c" bluez.alias = "HP 7 VoiceTab" device.icon_name = "audio-card-bluetooth" Profiles: a2dp_source: High Fidelity Capture (A2DP Source) (sinks: 0, sources: 1, priority: 20, available: yes) headset_audio_gateway: Headset Audio Gateway (HSP/HFP) (sinks: 1, sources: 1, priority: 10, available: no) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: a2dp_source Ports: phone-output: Phone (priority: 0, latency offset: 0 usec, not available) Part of profile(s): headset_audio_gateway phone-input: Phone (priority: 0, latency offset: 0 usec, available) Part of profile(s): a2dp_source, headset_audio_gateway
上記の出力にあるように、Bluetoothデバイスの名前は "bluez_card.7C_D3_0A_0B_D6_30"です。 ポートは「電話出力」です 。また、バッファサイズ(レイテンシ)は 0 。
次のコマンドを使用して、バッファサイズ(レイテンシ)を設定します:
$ pactl set-port-latency-offset bluez_card.7C_D3_0A_0B_D6_30 phone-output 125000
ここでは、125ミリ秒のバッファを使用しています。あなたはあなたのために働くあなた自身を設定することができます。上記のコマンドで名前とポートの値も変更します。
次に、コマンドを使用してBluetoothサービスを再起動します:
$ sudo systemctl restart bluetooth
または、システムを再起動します。音声の途切れの問題はもう解消されているはずです。
AskUbuntu、LinuxMint、およびArchWikiフォーラムで言及されている他のいくつかの回避策に従いました(リンクは最後に添付されています)。しかし、上記の解決策は私の問題を解決しただけです。
Bluetoothオーディオの問題を解決するためにユーザーが提案するその他の解決策は次のとおりです。
ソリューション1:
ALSA構成ファイルを編集します:
$ sudo nano /etc/modprobe.d/alsa-base.conf
最後に次の行を追加します:
options snd-hda-intel model=generic
この設定は、GNU /Linuxを実行しているPCのプライマリサウンドカードがHDAIntelデバイス(通常はマザーボード上)である場合にのみ関係します。
プライマリサウンドカードが他のデバイス(Creative、Terratech、VIAなど)の場合は何もしません。入力してくれてありがとう Mr.Bryan 。
ファイルを保存して閉じます。システムを再起動します。
ソリューション2:
これは、LinuxMintフォーラムのユーザーによって提案されました。
ファイルを編集します〜/ .config / pulse / system.pa :
$ sudo ~/.config/pulse/system.pa
次の行を追加します:
load-module module-udev-detect tsched=0
ファイルを保存して閉じます。システムを再起動します。
推奨される読み物:
- KDE Connect –Androidデバイスからのファイルと通知へのアクセス
これがお役に立てば幸いです。