GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでBluetoothを介してサウンドを送信する方法

Bluetoothヘッドセットとスピーカーは今までになく人気がありますが、Linuxで動作させることは必ずしも明確ではありません。 Linuxサウンドシステムの世界で起こっていることすべてで、迷子になり、あきらめることさえ簡単です。ほとんどの場合、これらのデバイスの問題は、システムがそれらを認識できることですが、何らかの理由で接続を確立できません。これは、この問題を解決する方法についてのすばやく簡単なガイドです。 Archで以下をテストしましたが、他のすべてのディストリビューションでも機能するはずです。

前提条件

A2DP(Advanced Audio Distribution Profile)を介してサウンドを送信するには、「bluez」Bluetoothプロトコルスタックと、「bluez-firmware」、「bluez-utils」、「bluez-tools」の3つのパッケージをインストールする必要があります。 」。これらをインストールするには、ターミナルを開いて「sudo yaourt」に続けてパッケージ名を入力するか、Ubuntuを使用している場合は「sudoapt-getinstall」に続けてパッケージ名を入力します。 packmanユーティリティを使用する場合は、「bluez-tools」パッケージがAURリポジトリにあることに注意してください。これらのパッケージをシステムにインストールすると、Bluetoothスピーカー/ヘッドセットを見つけることができるはずですが、接続することはできません。デバイスのBluetoothアドレスを取得するには、GNOMEのBluetooth設定を開くか、ターミナルを開いて「hcitoolscan」と入力します。

次に、「pulseaudio-bluetooth」パッケージをインストールする必要があります。 Ubuntu(およびDebian)では、このパッケージの名前は「pulseaudio-module-bluetooth」です。

このパッケージをインストールしたら、新しいターミナルを開いて次のように入力します。

killall pulseaudio

次に、Bluetoothを非アクティブにしてから再度アクティブにすると、Bluetoothデバイスとの接続を確立できるようになります。

接続

Bluetoothデバイスに接続するには、GNOMEのBluetooth設定を使用するか、端末から接続します。後者を使用する場合は、ターミナルを開いて「bluetoothctl」と入力し、Enterキーを押します。これにより、Bluetoothモジュールがアクティブになり、以前にペアリングされたすべてのデバイスとそのMACアドレスが表示されます。ヘッドセット/スピーカーに対応するものを見つけ、「ペア」に続けてアドレスを入力します。この方法で問題が発生した場合は、コマンド「rfkillunblockbluetooth」を入力して再試行してください。ペアリングの問題が解決しない場合は、コマンド「hciconfig hci0 sspmode 0」を試してから、再試行してください。ペアリングが最終的に完了したら、コマンド「connect」に続けて、MACアドレスを再度入力します。

これで、システムを起動するたびにスピーカーに接続するためのより便利な方法が必要な場合は、トレイ領域にアプレットを配置する「Blueman」パッケージをインストールできます。これは絶対に必要というわけではありませんが、便利です。 KDEを使用している場合は、「Bluedevil」パッケージをインストールします。このパッケージには、Dolphinのシステムトレイオプションから有効にできる便利なウィジェットも付属しています。

テイクコントロール

Bluetoothスピーカーに接続すると、サウンド設定でスピーカーを表示して選択できるようになります。

または、PulseAudioの高度なサウンド設定を可能にするパッケージ「pavucontrol」をインストールすることもできます。このユーティリティを使用すると、チャネルごとに異なる音量レベルを設定したり、レイテンシオフセットを設定したり、アプリケーションレベルで音量を制御したりできます。

スピーカーにサウンドを送信することは基本的にデータ転送タスクであるため、転送速度が高品質の結果を得るために十分に高く保たれているかどうかを知ることは素晴らしいことです。これを確認する1つの方法は、「gkrellm-bluez」と呼ばれるプラグインを提供するgkrellmユーティリティを使用することです。特定のツールは古い(GTK2)ですが、それでも目的を十分に果たすことができます。

もっと深くする

より深く、pulseaudioシステムに関連するオプションを設定したい場合は、「/ etc / pulse」に移動し、「sudogeditdefault.pa」および「sudogeditclient.conf」と入力して構成ファイルを開きます。ターミナル。もちろん、必要に応じて別のテキストエディタを使用することもできます。

最初のファイルでは、モジュールをアクティブ化し、起動するたびにヘッドセットに自動的に接続するために、Bluetoothの自動アクティブ化に関連する対応するセグメントのコメントを解除できます。2番目のファイルでは、自動スポーンを「いいえ」から「はい」は、セッション開始時にディスプレイマネージャがA2DPをキャプチャするかどうかによって異なります。一部の変更では、期待した/期待した効果が得られない可能性があるため、必ず最初にこれらの構成ファイルをバックアップしてください。

システムの起動時にヘッドセットの自動検出と接続を設定する別の方法は、「/ etc / bluetooth」に移動し、「audio.conf」テキスト構成ファイルを開くことです。そこで、対応するパーツのコメントを解除し、保存して再起動できます。繰り返しになりますが、必ず最初にファイルをバックアップしてください。

最後に、Bluetoothデバイスのいくつかの基本的なパラメーターを表示および変更する場合は、ターミナルで「sudo nautilus」と入力して、rootとしてファイルマネージャーセッションを開き、「/ var / lib/bluetooth」に移動します。ここには、Bluetoothモジュールの設定(名前、発見可能性など)に関連する「設定」ファイルと、デバイスのMACアドレスにちなんで名付けられたフォルダーがあります。フォルダ内の「info」ファイルを開き、デバイスの表示名を設定し、「trust」と「block」の状態を変更して、リンクキーを取得するか、PINコードを変更します。

まだ何もありませんか?

それでもシステムをBluetoothセットに接続できない場合は、Bluezバージョンの4ブランチを試してください。バージョン5は、一部のデバイスとの互換性を損なう主要なAPIの書き直しをもたらしましたが、多くの場合、これは依然として状況です。また、ログイン画面でユーザーのアクセシビリティのニーズに対応するために、ディスプレイマネージャがA2DPシンクをキャプチャしている可能性があります。前のパートで説明したように、client.confで「autospawn」を「no」に設定すると、この問題が解決します。

Bluetooth接続がハング/フリーズし、再起動してもスピーカーに再接続できない場合は、「/ etc / bluetooth /」に移動し、ルートとして「main.conf」を開き、「RememberPowered」の値を「true」から変更します。 」を「false」に変更し、ファイルを保存して再起動します。デバイスをリセットしながらこれを行うと、次回の起動時に問題が発生しないはずです。問題が解決しない場合は、フォーラムにアクセスして、専門家コミュニティの支援を求めてください。


Linux
  1. Linux用のPythonアプリケーションをパッケージ化する方法

  2. Linuxにインストールせずにパッケージをテストする方法

  3. LinuxでBluetoothシリアルポートに接続してデータを送信する方法は?

  1. Linuxでパッケージバージョンを見つける方法

  2. Linuxでパッケージの依存関係を一覧表示する方法

  3. LinuxでCで音を出す方法は?

  1. インストールする前にLinuxパッケージのバージョンを確認する方法

  2. LinuxRPMパッケージを作成する方法

  3. Linux で rpm パッケージの整合性をチェックする方法