如何用2个蓝牙适配器配置2个蓝牙扬声器?


9

我通常通过使用pulseaudio流传输到计算机扬声器和蓝牙扬声器。到目前为止,没有大的问题。但是后来我虽然要连接第二个蓝牙扬声器。

我使用Kensington蓝牙v4.0加密狗提供的蓝牙连接,但是当我尝试连接2个扬声器时,第二个扬声器立即连接和断开。经过研究后,我得出结论,我的蓝牙接口仅同时支持一个A2DP流,因此解决方案是或购买多流加密狗(不确定是否存在)或尝试并行使用第二个蓝牙加密狗(这就是我的意思)。我正在尝试)。

我的想法如下:我将扬声器1连接到加密狗1,将扬声器2连接到加密狗2,我将pulseaudio配置为同时流到两个扬声器,然后坐下来放松。好吧...我无法使它工作。

运行hciconfig时,我看到2 hci0和hci1,但是当我在一起时,我无法检测到任何设备。我尝试使用hciconfig禁用其中一个加密狗与另一个加密狗连接并进行测试,但是它不起作用。如果两个加密狗单独连接在PC上,它们都可以正常工作,但是我无法使它们同时工作。我也尝试了blueman,但是我得到了与命令行相同的行为。所以我的问题是:

  • 是否可以在Ubuntu 14.04上同时配置2个蓝牙适配器?
  • 是否可以同时将音频流传输到2个蓝牙接口?

如果任何问题的答案为“是”,我真的很想知道如何。

Answers:


7

好的,我发现这是可能的,并且我发现了如何:

  1. 我安装了所有bluez(bluez + bluez- *)软件包,并清除了与蓝牙相关的任何其他应用程序(blueman,bluewho等)。我不知道这是否严格相关,但是直到我不这样做,我都无法连接到扬声器。

    我还安装了所有pulseaudio实用程序,并配置了同时输出虚拟设备。

  2. 连接您的2个加密狗。他们将获得名称hci0和hci1

  3. 您应该使用以下方法检查设备是否被阻止:

    rfkill list

    如果在蓝牙接口上发现任何阻塞(此命令还将显示您的wifi),则需要解除阻塞(请检查rfkill手册页以继续进行)。

  4. 检查是否没有设备与您的蓝牙接口配对:

    bt-device -a hci0 -l

    bt-device -a hci1 -l

    如果有已配对的设备,我希望在继续之前删除所有以前的配对:

    bt-device -a hciX -r XX:XX:XX:XX:XX:XX

  5. 通过以下方法发现设备上的设备,以检查它们是否可以访问您的设备:

    hcitool -i hci0 scan

    hcitool -i hci1 scan

  6. 通过上一步,您将获得设备的蓝牙mac地址(看起来像XX:XX:XX:XX:XX:XX:XX的字符串)。使用这些数字,您应该将扬声器与配对(我在mac地址的末尾添加了1和2以标识2个不同的扬声器):

    bt-device -a hci0 -c XX:XX:XX:XX:XX:X1

    bt-device -a hci1 -c XX:XX:XX:XX:XX:X2

  7. 通过以下方式连接到扬声器以获取音频:

    bt-audio -a hci0 -c XX:XX:XX:XX:XX:X1

    bt-audio -a hci1 -c XX:XX:XX:XX:XX:X2

此时,您应该可以在PulseAudio音量控制GUI上找到2个扬声器,在那里您可以播放和调整延迟,音量等。


额外的信息:

嗨,对于那些正在阅读和投票赞成这篇文章的人来说,这是一个小更新。

如果您想通过多房间音频系统的想法连接多个扬声器,则蓝牙可能根本不是最佳解决方案。事实证明,蓝牙音频流的定时会根据您在源和宿之间发现的干扰而变化,这使得几分钟后,您最终会在每个扬声器中的不同时刻播放音乐。即使您完美地调整了延迟(一个允许您设置接收器之间延迟的参数),几分钟后,音频也会在不同接收器之间产生明显的漂移。

当我想设置一个多房间音频系统时,该解决方案并未真正解决,最后我找到了一些相对便宜的设备,这些设备显式支持wifi上的多房间音频,而不是最初的廉价想法,即使用多个蓝牙加密狗。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.