環境
- Raspberry Pi 3 model B
- Amazon Echo Dot
実現したいこと
Echo DotをBluetoothスピーカーとして、Raspberry Piのオーディオ出力に使いたい。
Raspberry Pi -(Bluetooth)-> Echo Dot -(音)-> 人
発生している問題
オーディを出力の向きが逆なってしまいます。
つまり、Echo Dotの音がRaspberry Piに入力されるという事になっています。
Echo Dot -(Bluetooth)-> Raspberry Pi --> 有線イヤホン -(音)-> 人
試したこと
以下のサイトの手順で設定を行いました。
Raspberry PI 3 で Bluetooth(A2DP)
ちなみに、Echo Dotではなく別のBluetoothスピーカーでも試しており、こちらは同様の手順でうまく行っております。
Raspberry Pi→Bluetoothスピーカーにオーディオ出力できました。
改善方法に心当たりのある方はいらっしゃいませんでしょうか?
詳細状況
PulseAudioの出力(sink)にEcho Dotが表示されていません。
sh
1$ pactl list sinks 2Sink #0 3 State: RUNNING 4 Name: alsa_output.platform-soc_audio.analog-stereo 5 Description: bcm2835 ALSA アナログステレオ 6 Driver: module-alsa-card.c 7 ...
PulseAudioの入力(source)にはEcho Dotが表示されています。
sh
1$ pactl list sources 2Source #0 3 State: IDLE 4 Name: alsa_output.platform-soc_audio.analog-stereo.monitor 5 Description: Monitor of bcm2835 ALSA アナログステレオ 6 Driver: module-alsa-card.c 7 ...(中略)... 8 9Source #2 10 State: RUNNING 11 Name: bluez_source.3C_5C_C4_D4_6D_2B 12 Description: Echo Dot-DL6 13 Driver: module-bluez5-device.c 14 Sample Specification: s16le 2ch 44100Hz 15 Channel Map: front-left,front-right 16 Owner Module: 19 17 Mute: no 18 Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB 19 balance 0.00 20 Base Volume: 65536 / 100% / 0.00 dB 21 Monitor of Sink: n/a 22 Latency: 25000 usec, configured 135294 usec 23 Flags: HARDWARE DECIBEL_VOLUME LATENCY 24 Properties: 25 bluetooth.protocol = "a2dp_source" 26 device.description = "Echo Dot-DL6" 27 device.string = "3C:5C:C4:D4:6D:2B" 28 device.api = "bluez" 29 device.class = "sound" 30 device.bus = "bluetooth" 31 device.form_factor = "speaker" 32 bluez.path = "/org/bluez/hci0/dev_3C_5C_C4_D4_6D_2B" 33 bluez.class = "0x2c0414" 34 bluez.alias = "Echo Dot-DL6" 35 device.icon_name = "audio-speakers-bluetooth" 36 ポート: 37 speaker-input: Bluetooth Input (priority: 0, available) 38 活動中ポート: speaker-input 39 形式: 40 pcm
2019/01/14追記(未解決)
以下のコマンドでカード#2のs2dp_sourceというProfileが有効になっているため、このような動作になっているようです。
sh
1$ pactl list cards 2カード #0 3 名前: alsa_card.platform-soc_audio 4 ドライバー: module-alsa-card.c 5 モジュール: 1 6 プロパティ: 7 alsa.card = "0" 8 alsa.card_name = "bcm2835 ALSA" 9 alsa.long_card_name = "bcm2835 ALSA" 10 device.bus_path = "platform-soc:audio" 11 sysfs.path = "/devices/platform/soc/soc:audio/bcm2835_alsa/sound/card0" 12 device.string = "0" 13 device.description = "bcm2835 ALSA" 14 module-udev-detect.discovered = "1" 15 device.icon_name = "audio-card" 16 プロフィール: 17 output:analog-mono: アナログモノ 出力 (sinks: 1, sources: 0, priority: 100, available: yes) 18 output:analog-stereo: アナログステレオ 出力 (sinks: 1, sources: 0, priority: 6000, available: yes) 19 off: オフ (sinks: 0, sources: 0, priority: 0, available: yes) 20 有効なプロフィール: output:analog-stereo 21 ポート: 22 analog-output: アナログ出力 (priority: 9900, latency offset: 0 usec) 23 Part of profile(s): output:analog-mono, output:analog-stereo 24 25カード #2 26 名前: bluez_card.3C_5C_C4_D4_6D_2B 27 ドライバー: module-bluez5-device.c 28 モジュール: 15 29 プロパティ: 30 device.description = "Echo Dot-DL6" 31 device.string = "3C:5C:C4:D4:6D:2B" 32 device.api = "bluez" 33 device.class = "sound" 34 device.bus = "bluetooth" 35 device.form_factor = "speaker" 36 bluez.path = "/org/bluez/hci0/dev_3C_5C_C4_D4_6D_2B" 37 bluez.class = "0x2c0414" 38 bluez.alias = "Echo Dot-DL6" 39 device.icon_name = "audio-speakers-bluetooth" 40 プロフィール: 41 a2dp_source: High Fidelity Capture (A2DP Source) (sinks: 0, sources: 1, priority: 10, available: yes) 42 a2dp: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes) 43 off: オフ (sinks: 0, sources: 0, priority: 0, available: yes) 44 有効なプロフィール: a2dp_source 45 ポート: 46 speaker-output: スピーカー (priority: 0, latency offset: 0 usec, not available) 47 Part of profile(s): a2dp 48 speaker-input: Bluetooth Input (priority: 0, latency offset: 0 usec) 49 Part of profile(s): a2dp_source
それならa2dpというProfileを有効にすれば、解決するんじゃないかと思えたので試してみましたがダメでした。
offへの切り替えや、その後a2dp_sourceに戻すことはできるものの、a2dpには切り替えできませんでした。
sh
1$ pactl set-card-profile 2 a2dp # a2dpへの切り替えに失敗 2失敗: 入力/出力エラー 3$ pactl set-card-profile 2 off # offへの切り替えに成功 4$ pactl set-card-profile 2 a2dp_source # a2dp_sourceへの切り替えに成功
ちなみにoff状態でのsinksとsourceは、以下の通り。
Echo Dot関連の記述が入出力ともに無くなっていました。
sh
1$ pactl set-card-profile 2 off 2$ pactl list cards 3カード #0 4 名前: alsa_card.platform-soc_audio 5 ドライバー: module-alsa-card.c 6 ...(中略)... 7 8カード #2 9 名前: bluez_card.3C_5C_C4_D4_6D_2B 10 ドライバー: module-bluez5-device.c 11 ...(中略)... 12 有効なプロフィール: off 13 ポート: 14 speaker-output: スピーカー (priority: 0, latency offset: 0 usec, not available) 15 Part of profile(s): a2dp 16 speaker-input: Bluetooth Input (priority: 0, latency offset: 0 usec) 17 Part of profile(s): a2dp_source 18 19$ pactl list sinks 20Sink #0 21 State: SUSPENDED 22 Name: alsa_output.platform-soc_audio.analog-stereo 23 Description: bcm2835 ALSA アナログステレオ 24 Driver: module-alsa-card.c 25 ...(以下略)... 26 27$ pactl list sources 28Source #0 29 State: SUSPENDED 30 Name: alsa_output.platform-soc_audio.analog-stereo.monitor 31 Description: Monitor of bcm2835 ALSA アナログステレオ 32 Driver: module-alsa-card.c 33 ...(以下略)...

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/14 08:24 編集