BluetoothでSony SRS-XB2スピーカーに接続することをネット情報を元に何回かtryしてきたが毎回接続できずに終わってしまった。
今回、comfortや音楽再生機能をraspi0に完全移行できたので、OS再インストールして再度挑戦し、試行錯誤しながらやっと接続できたので、手順を備忘録として残すことにした。
【追記】(2021/01/12)
2020/12/02版のraspiosではbluetooth機能が改善されていて、以下の作業は不要になった。
$ sudo apt-get install pulseaudio pavucontrol
$ sudo apt-get install blueman pulseaudio-module-bluetoot
(pi-bluetooth ← デフォルトでインストールされていた)
$ sudo nano /etc/systemd/system/pulseaudio.service
下記を新規入力
[Unit]
Description=Pulse Audio
[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm
[Install]
WantedBy=multi-user.target
$ sudo nano /etc/dbus-1/system.d/pulseaudio-bluetooth.conf
下記を新規入力
<busconfig>
<policy user="pulse">
<allow send_destination="org.bluez"/>
</policy>
</busconfig>
$ sudo nano /etc/pulse/system.pa
<前略>
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
$ sudo nano /etc/pulse/default.pa
<前略>
### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle
↑
#を追加して無効化する
$ sudo nano /etc/pulse/system.pa
上記と同じ処置
再起動
$ sudo reboot
$ pulseaudio --check -v でデーモンが起動しているかを確認
$ pulseaudio -k でデーモンが起動していたらkillする(小生の場合、これが胆だった)
$ sudo systemctl start pulseaudio.service
$ sudo systemctl status pulseaudio.service
$ sudo systemctl enable pulseaudio.service
$ sudo usermod -a -G pulse,pulse-access pi
$ sudo usermod -a -G pulse-access,audio root
間違って違うユーザーを登録してしまったら:
グループメンバーの削除:$ sudo gpasswd -d ユーザー名 グループ名
グループメンバーの確認:$ getent group | grep pulse
タスクバーのBluetooth GUIで行っても問題無かったが、一応コマンドラインの方法
$ sudo bluetoothctl
[bluetooth]# agent on
[bluetooth]# default-agent
[bluetooth]# scan on
[CHG] Device xx:xx:xx:xx:xx:xx SRS-XB2: →スピーカーの値をコピー
[bluetooth]# pair xx:xx:xx:xx:xx:xx
[bluetooth]# trust xx:xx:xx:xx:xx:xx
[bluetooth]# connect xx:xx:xx:xx:xx:xx
[bluetooth]# exit
$ speaker-test -t wav →ctl+cで終了
数十秒待っても音が出なかったら終了して、タスクバーのスピーカアイコンを右クリックでSRS-XB2選択し再実行
それでも出ない場合はもう一度選択(小生の場合、2度目でOKになった)
一度接続して音が出れば、以降、rebootしても自動接続してくれる
*** 以上
注:このサイトの「PulseAudioのsystemdサービス化」項で、一部誤りが有り、小生、エラー発生の解決に梃子摺った
[Services] → [Service]が正しい。