這樣看起來 bluez 好像可以 support A2DP Sink。
所以稍微查一下,
最後是照著這一篇:http://linuxtoy.org/archives/ubuntu-bluetooth-guide.html
用 blueman pair 後才成功。
需要 paluseaudio。
先修改 /etc/bluetooth/audio.conf,在 [General] 後面加上
Enable=SourceL
重新啟動 bluetooth:
service bluetooth restart
之後就可以用 blueman (Debian 需要aptitude額外安裝),Bluetooth Manager的 device 作 search,Blueman 可以選擇 connect to 的 function ,選 "Audio Source"。
一樣,作 pair, trust,connect 後,在 手機上可以看到 已經和 NB 作 媒體音訊 的連接了。
之後手機就可以播放。
手機連接 A2DP 後,在音量控制部份,會多出一個 entry:
Device : Capture : 手機名稱(PulseAudio Mixer)
ref:
- 圖文並茂版:http://ceworkbench.wordpress.com/2011/03/21/configuring-linux-as-an-a2dp-audio-sink/
- dbus command: http://blog.csdn.net/mayouyang/article/details/5940805
不使用 blueman ,手動的部份,參考 ref 2 的後半,還有 http://ceworkbench.wordpress.com/2011/03/21/configuring-linux-as-an-a2dp-audio-sink/
一般的問題都是用 pactl list 找不到 手機 的 source card。
這個 ref 可以看到是用 bluetooth device address 為名。
依照說明,開啟 d-feet,在 device address 的 AudioSource method connect() 按下後,
執行
pactl list | grep Name:
可以看到兩個 entry:
Name: bluez_source.5C_B5_24_XX_XX_XX
Name: bluez_card.5C_B5_24_XX_XX_XX
這個就是手機連線後,新增加的 sound card 裝置。follow 說明 load module-loopback 給定對應的 source, sink name ,就可以正確播出聲音了。
.. 我的 pactl list | grep Name: 有關 audio 的是:
Name: alsa_output.pci-0000_02_00.1.hdmi-stereo
Name: alsa_output.pci-0000_00_1b.0.analog-stereo
Name: alsa_output.pci-0000_02_00.1.hdmi-stereo.monitor
Name: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
Name: alsa_input.pci-0000_00_1b.0.analog-stereo
Name: bluez_source.5C_B5_24_XX_XX_XX
Name: alsa_card.pci-0000_02_00.1
Name: alsa_card.pci-0000_00_1b.0
Name: bluez_card.5C_B5_24_XX_XX_XX
所以 load loopback module 的 command 是:
pactl load-module module-loopback source=bluez_source.5C_B5_24_XX_XX_XX sink=alsa_output.pci-0000_00_1b.0.analog-stereo
這個command 回 return 一個數字,是 modue 的 index,在 unload-module 時要用。
例如,return 20 的話,unload loopback module 時,要用:
pactl unload-module 20
這個blog有詳細的 bluetooth, bluez 解說:
http://blog.sina.com.cn/s/articlelist_1613727600_2_1.html
沒有留言:
張貼留言