我想让我的手机通过家庭服务器的扬声器播放音乐。这个家庭服务器是一个运行 Debian 的无头 OrangePi 盒子(其中一个 USB 端口上有一个蓝牙适配器)。
我跟着https://wiki.debian.org/BluetoothUser对于第一步和配对部分来说,一切似乎都运行正常:我的 USB 加密狗被识别了,我可以启动它,让它可被发现,它会出现在我的手机上,而且我能够与它配对。
但是现在我的手机似乎不认为我的服务器能够播放音频。 bt-device -i <phone>
告诉我:... UUIDs: [..., AudioSource, ..., HeadsetAudioGateway, ...]
我的理解是,我的手机可以使用这两个配置文件发送音频。但bt-adapter -i
没有列出这些(或任何类似的东西),我的理解是,我需要以某种方式教我的服务器如何从蓝牙接收音频。我安装了,pulseaudio-module-bluetooth
但只是安装它似乎没有任何区别,我不确定我还能做什么。
[ 顺便说一句,我提到 pulseaudio 是因为我的搜索让我发现它是潜在解决方案的一部分,但不使用 pulseaudio 的解决方案也可以。 ]
答案1
我尝试使用 debian-jessie 笔记本电脑执行相同操作。以下方法帮我解决了这个问题:
sudo apt-get install -y bluetooth bluez bluez-tools rfkill blueman
# https://tttwrites.wordpress.com/2014/11/09/resolved-bluetooth-loading-patch-failed-in-debian-wheezy/
if [ $(lsusb|grep Blue|grep Atheros|wc -l) -eq 1 ]; then sudo apt-get install -y firmware-atheros; fi
# To fix the errors:
# Sap driver initialization failed.
# sap-server: Operation not permitted (1)
# https://askubuntu.com/a/802345/155829
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover # not sure we need this line
modprobe ath3k
modprobe btusb
modprobe bluetooth
# https://wiki.archlinux.org/index.php/bluetooth#Using_your_computer.27s_speakers_as_a_bluetooth_headset
echo '[General]
Enable=Source,Sink,Media,Socket' > /etc/bluetooth/audio.conf
sudo service bluetooth restart || sudo systemctl restart bluetooth
if [ $(ps awuxf|grep blueman-app|wc -l) -lt 2 ]; then blueman-applet; fi
值得学习使用 bluetoothctl,因为我需要它来输入 PIN
工作时:
lsmod |grep -i blue|awk '{print $1}'
向我展示
bluetooth
ecdh_generic
rfkill
crc16
与手机配对后
ls -la /sys/bus/usb/drivers/btusb|grep dev
有一些符号链接到 -> ../../../../devices/pci0000:00/{YOUR DEVICE} 并且
cat /sys/bus/usb/drivers/btusb/{remove_id,new_id}|wc -c
应该返回 0(零),而之前当它不起作用时它是一个正值。