Bluetooth A2DPパルスオーディオソースは、bluez 5.45を使用して携帯電話からLinuxにサウンドを再生します。

Bluetooth A2DPパルスオーディオソースは、bluez 5.45を使用して携帯電話からLinuxにサウンドを再生します。

Bluetooth A2DPを使用してコンピュータのスピーカーを介して音楽を再生できるように、携帯電話の音声をパルスオーディオ入力として表示しようとしています。私はアーチLinuxとbluez 5.45を使用しています。

Webにはこれに関する多数のガイドがありますが、すべて古いようです。具体的には、bluez 5.45(bluez-utils 5.45およびbluez-tools 0.2を含む)の場合、これ以上ファイルはありません/etc/bluetooth/audio.conf。もう存在しませhcitoolsdptoolorg.bluez.AudioSourcedbusを介してhciデバイスのインターフェイスを呼び出すことはできません。一部のWebページでは、すべてが「正常に動作する」必要があることを示唆していますが、携帯電話(Pixel)をコンピュータとペアリングした後、ソースや受信機はまったく表示されません。

仕組み:携帯電話をペアリングしてbluetoothctlpingすることから始めることができますl2ping。私のユーザーをlpグループに入れ、/etc/dbus-1/system.d/bluetooth.conf可能なすべてのBluetooth権限を持つように編集しました。 、およびをpacmd list-modulesロードしたことを示します。お使いの携帯電話のBluetoothメニューで、マイコンピュータに「メディアオーディオ」と表示されます(正しいかどうかわからない)。module-bluetooth-policymodule-bluetooth-discovermodule-bluez5-discover

ただし、pacmd list-sourcesBluetoothに関する内容は記載されておらず、以下にはBluetoothに関するヒントもありませんpavucontrol

答え1

まあ、私はこれを把握しようとして数時間を費やしましたが、何らかの理由で私の電話に接続することはできません。しかし、それから別のコンピュータで試してみて、シェルに入力するだけで接続し、オーディオが機能するのに十分でしたconnect xx:xx:xx:xx:xx:xxbluetoothctlその後、最初のコンピュータに戻って実行し、もう一度ペアremove xx:xx:xx:xx:xx:xxリングしたところ、正常に動作しました。

私が別の方法の1つは、作業中にペアリングして接続中に音楽を再生することでしたが、最初のケースでは、オーディオを送信する前に接続を試みました。

基本的に、アーチでBluetoothを使用したい他の人のために要約すると、次のステップです。

pacman --needed -S pulseaudio-bluetooth bluez-utils bluez-tools rfkill
systemctl enable bluetooth
systemctl start bluetooth
rfkill unblock bluetooth
gpasswd -a `logname` lp

その後、直接実行するときにpulseaudio -kログアウトしてから再度ログインして、lpグループ(Bluetoothアクセスを提供)に入ります。

携帯電話に内蔵されているスピーカーで音楽を再生し、携帯電話をペアリングモードに切り替えます。

最後に、rootとして再度実行し、bluetoothctlユーティリティで次のコマンドを実行します。

power on
scan on
pair xx:xx:xx:xx:xx:xx
[confirm pin]
scan off
connect xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx

この時点ですべてが正常な場合、電話機はスピーカーを介した再生を停止し、pavucontrolアプリの下に新しい入力が表示されます。

携帯電話が範囲内にあるときに自動的に接続できるようにするには、電話が音声にアクセスできるようにするためのtrustコピーなしでこのコマンドが必要です。それ以外の場合は、次のコマンドを使用してコンピュータからすべての接続を開始するbt-agent必要があります。connectbluetoothctl

dbus-send --system --type=method_call --dest=org.bluez \
    /org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Device1.Connect

関連情報