如何在Linux上通过蓝牙发送声音

蓝牙耳机和扬声器现在比以往任何时候都更受欢迎,但让他们在Linux下工作并不总是很清楚。 随着Linux音响系统世界的一切发展,很容易迷失甚至放弃。 大多数情况下,这些设备的问题是您的系统可以看到它们,但由于某种原因,它无法建立连接。 这是一个快速简单的指南,介绍如何解决这个问题。 我已经在Arch中测试了以下内容,但是它也应该在其他分布上工作。

先决条件

为了通过A2DP(Advanced Audio Distribution Profile)发送声音,您将需要安装“bluez”蓝牙协议栈,另外还有三个软件包,即“bluez-firmware”,“bluez-utils”和“bluez-tools “。 您可以通过打开终端并输入“sudo yaourt”,然后输入“sudo yaourt”,然后输入“sudo yaourt”,如果您使用Arch,或者使用“sudo apt-get install”,后跟包名称,如果您使用Ubuntu。 如果您更喜欢packman实用程序,请注意,在“AUR”库中可以找到“bluez-tools”软件包。 在您的系统中安装这些软件包后,您应该能够找到蓝牙扬声器/耳机,但是您将无法连接。 您可以通过打开GNOME的蓝牙设置或打开终端并键入“hcitool scan”来获取设备的蓝牙地址。

接下来,您需要安装“pulseaudio-bluetooth”软件包。 在Ubuntu(和Debian)中,这个包被命名为“pulseaudio-module-bluetooth”。

安装此软件包后,打开一个新的终端并输入:

killall pulseaudio

然后停用蓝牙并重新启动蓝牙,您现在应该能够与蓝牙设备建立连接。

连接

要连接蓝牙设备,您可以使用GNOME的蓝牙设置,也可以通过终端进行。 如果你喜欢后者,打开终端并输入“bluetoothctl”,然后按回车键。 这将激活您的蓝牙模块,并使用其MAC地址显示所有先前配对的设备。 找到与您的耳机/扬声器相对应的耳机/扬声器,然后键入“对”,然后键入地址。 如果您使用此方法遇到问题,请输入命令“rfkill unblock bluetooth”并重试。 如果配对问题仍然存在,请尝试使用“hciconfig hci0 sspmode 0”命令,然后重试。 配对完成后,继续执行命令“connect”,然后重新连接MAC地址。

现在,如果您每次启动系统时想要更方便的连接扬声器,您可以安装“Blueman”软件​​包,将Applet放入托盘区域。 这不是绝对必要的,但它可以派上用场。 如果您使用KDE,请安装“Bluedevil”软件包,该软件包还附带一个方便的小部件,您可以通过Dolphin的系统托盘选项来启用。

控制住

一旦连接到蓝牙音箱,您应该可以在声音设置中看到并选择它们。

或者,您可以安装“pavucontrol”软件包,这样可以进行高级PulseAudio声音设置。 通过此实用程序,您可以为每个通道设置不同的音量级别,设置延迟偏移量和控制应用程序级别的音量。

由于向您的扬声器发送声音基本上是一个数据传输任务,因此要知道传输速率是否保持足够高的质量结果是很好的。 检查这个的一种方法是使用gkrellm实用程序,它提供了一个名为“gkrellm-bluez”的插件。 特定的工具是旧的(GTK2),但它仍然可以服务的目的很好。

更深入

如果您想更深入地设置与pulseaudio系统有关的选项,则可以通过导航到“/ etc / pulse”并通过在“sudo gedit default.pa”和“sudo gedit client.conf”中打开配置文件来打开配置文件一个终端。 当然,如果你喜欢,你可以使用不同的文本编辑器。

在第一个文件中,您可以取消注释与自动蓝牙激活有关的相应段,以便在每次启动后激活您的模块并自动连接到耳机,而在第二个文件上,您可以将自动设置从“否”更改为“是”取决于您是否希望显示管理器在会话启动时捕获A2DP。 确保先备份这些配置文件,因为一些更改可能没有您想要/预期的效果。

通过导航到“/ etc / bluetooth”并打开“audio.conf”文本配置文件,另一种在系统启动时自动检测和连接耳机的方法。 在那里,您可以取消对相关部件的注释,并保存并重新启动。 再次确保先备份文件。

最后,如果要查看并更改蓝牙设备的一些基本参数,请在终端上输入“sudo nautilus”,然后打开“/ var / lib / bluetooth”,打开文件管理器会话。 在那里,您将找到一个关于您的蓝牙模块设置(名称,可发现性等)的文件以及以设备MAC地址命名的文件夹。 打开文件夹中的“info”文件,并设置设备的显示名称,更改其“信任”和“阻止”状态,并获取链接密钥或更改PIN码。

依然没有?

如果您仍然无法使系统连接到蓝牙设备,请尝试使用Bluez 4分支版本。 版本5带来了一个主要的API重写,破坏了与某些设备的兼容性,在许多情况下,这仍然是这种情况。 此外,您的显示管理器有机会捕获A2DP接收器,以在登录屏幕上提供用户的辅助功能需求。 在我们前面提到的client.conf中将“autospawn”设置为“no”将有助于解决这个问题。

如果您的蓝牙连接挂起/冻结,即使重新启动后也无法重新连接扬声器,请转到“/ etc / bluetooth /”作为root用户打开“main.conf”,并将“RememberPowered”的值从“true”更改“到”false“,保存文件并重新启动。 执行此操作同时重置您的设备,您应该没有任何问题下次启动。 如果问题仍然存在,请访问我们的论坛,并请求我们的专家社区的帮助。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏