我试图将手机的声音显示为脉冲音频输入,以便可以使用蓝牙A2DP通过计算机的扬声器播放音乐。我正在使用带有bluez 5.45的arch linux。
网上有大量关于此的指南,但它们似乎都已过时。特别是,在bluez 5.45(以及bluez-utils 5.45和bluez-tools 0.2)中,/etc/bluetooth/audio.conf
不再有文件。hcitool
并且sdptool
不再存在。org.bluez.AudioSource
我不再可以通过dbus在hci设备上调用接口。某些网页建议现在应该“正常工作”,但是将手机(Pixel)与计算机配对后,我当然看不到任何来源或沉没。
运作正常:我可以将手机bluetoothctl
与配对并与ping通l2ping
。我将用户放置在该lp
组中并进行了编辑,/etc/dbus-1/system.d/bluetooth.conf
因此我拥有所有可能的蓝牙权限。pacmd list-modules
说明我已加载module-bluetooth-policy
,module-bluetooth-discover
和module-bluez5-discover
。在手机的蓝牙菜单上,计算机显示为“媒体音频”所用(不知道是否正确)。
但是,pacmd list-sources
没有列出有关蓝牙的任何内容,也没有暗示蓝牙的内容pavucontrol
。
好吧,我花了几个小时来解决这个问题,由于某种原因无法连接到手机。但是,然后我尝试在另一台计算机上尝试,只需connect xx:xx:xx:xx:xx:xx
在bluetoothctl
外壳中键入内容就足以连接并获得音频。然后我回到第一台计算机,运行remove xx:xx:xx:xx:xx:xx
并重新配对,然后工作了。
我做过的另一件事是在可行的情况下配对和连接时播放音乐,而在第一种情况下,我尝试在发送音频之前进行连接。
因此,从根本上总结一下,其他正在尝试使蓝牙在弓上工作的人,这些步骤是:
pacman --needed -S pulseaudio-bluetooth bluez-utils bluez-tools rfkill
systemctl enable bluetooth
systemctl start bluetooth
rfkill unblock bluetooth
gpasswd -a `logname` lp
然后,在您自己运行时pulseaudio -k
,注销并再次登录以进入lp组(该组提供蓝牙访问)。
现在,从手机的内置扬声器播放音乐,然后将手机置于配对模式。
最后,再次以root用户身份运行bluetoothctl
,并从实用程序中运行以下命令:
power on
scan on
pair xx:xx:xx:xx:xx:xx
[confirm pin]
scan off
connect xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx
此时,如果一切正常,电话将停止通过扬声器播放,您将在pavucontrol
应用程序下看到一个新输入。
请注意,trust
如果您希望手机在范围内时自动连接,而不需要运行的副本bt-agent
来授权手机访问您的声音,则该命令是必需的。否则,您将需要使用中的connect
命令bluetoothctl
或类似以下的命令来启动计算机的所有连接:
dbus-send --system --type=method_call --dest=org.bluez \
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Device1.Connect
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句