Raspberry Pi 3 Model B を用いてBluetoothスピーカーと接続した後、aplayコマンドがエラー出して音が出なかった問題の対応を備忘録として残しておく。
以下はすべてSSH接続によるCUIで行っている。
環境:Raspbian GNU/Linux 8.0 (jessie)
Bluetoothスピーカーとの接続
Bluetoothスピーカーとの接続は次のサイトを参考にすれば、全く問題なくBluetooth接続が完了する。
また、再起動後も自動的にBluetooth接続を行うため、とても便利だ。
エラー
この状態で、aplayコマンドを使うと次のようにエラーが表示されて音が鳴らない。
aplay /usr/share/sounds/alsa/Rear_Center.wav
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: アクセス拒否
aplay: main:722: audio open error: 接続を拒否されました
また、このときの/var/log/syslogを確認すると、次のようになっている。
raspberrypi pulseaudio[430]: W: [pulseaudio] protocol-native.c: Denied access to client with invalid authorization data.
エラー対応
このエラーの対応は、音を出すユーザーを「pulse-access」グループに追加すればよい。
注意すべきことは、rootであっても「pulse-access」グループに追加しないといけないということだ。
次のコマンドはuserとrootを「pulse-access」グループに追加している。
sudo gpasswd -a user pulse-access
sudo gpasswd -a root pulse-access
「pulse-access」グループにユーザーを追加した後、aplayコマンド実行すると、きちんとBluetoothスピーカーから音が出ることが確認できる。
aplay /usr/share/sounds/alsa/Rear_Center.wav
RaspberryPi Bluetoothスピーカーで音を出す方法
ピンバック:RaspberryPi3とBluetoothスピーカーを接続する – まいにちものづくり
ピンバック:RaspberryPi3とBluetoothスピーカーを接続する – まいにちものづくり