在 Ubuntu 16.04 中自动连接到蓝牙扬声器

Arn*_*rno 16 sound bluetooth 16.04

BT 在启动时启用。这很好。但它不会自动配对/连接到设备,即使它一旦配对并获得“受信任”状态。我可以通过选择设备并“连接到音频输出”来使用该工具连接到扬声器。这如何在启动时自动完成?我也可以使用“bluetoothctl”而不是“connect”来做到这一点,但这是交互式的,似乎无法编写脚本。

第二步是,BT 成为默认的音频接收器。
这不都是一个普通的用例吗?

(我在这里找到了一些页面,大多数页面已经过时。) 自动连接蓝牙设备:load-module module-switch-on-connect 对我不起作用。

我还安装了 bt-autoconnect。但有几个问题: - 它没有找到 BT 适配器 - 按钮音频设置什么都不做 - 保存和退出不只是什么

小智 6

试试bluetoothctl命令。

如果然后输入help,您将看到要使用的命令。

  • “列表”(设备)
  • 'trust 78:44:aa:bb:cc:dd'(设备的 MAC 地址)
  • 'info 78:44:aa:bb:cc:dd'(设备的 MAC 地址)
  • '配对设备'

试试吧,它对我有用。


小智 5

要自动连接到音频接收器,您可以在中添加以下行/etc/rc.local

(sleep 6; echo "connect AA:BB:CC:DD:EE:FF\nquit" | bluetoothctl) &
Run Code Online (Sandbox Code Playgroud)

更新地址。您可以通过以下方式从命令行进行验证:

echo -e "devices\nquit" | bluetoothctl
Run Code Online (Sandbox Code Playgroud)

就我而言sleep 6就足够了 - 但也许在您的计算机上必须增加它才能完全完成其他蓝牙连接步骤。

一般来说,&在末尾带有符号,您将启动将在 6 秒内执行的进程,不会阻止下一个进程启动正常的蓝牙连接功能。如果 rc.local 不存在(在我的情况下),您可以创建它或在启动时使用其他文件启动。


Arn*_*rno 2

对于第二部分(自动切换到 BT 扬声器作为接收器),我找到了解决方案。已经发布在这里:

# /etc/pulse/default.pa
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # this is new!
.endif
Run Code Online (Sandbox Code Playgroud)

但是:BT 服务器如何在可用时自动与扬声器配对?帮助!


编辑:为第一个问题找到了(不是最好的恕我直言)解决方案:

echo "connect AA:BB:CC:DD:EE:FF" | bluetoothctl
Run Code Online (Sandbox Code Playgroud)

但是:更好的是,对于所有已连接和信任的设备,无需此 MAC 即可工作。