简单几步为UOS/Deepin添加蓝牙LDAC、aptX HD、aptX、AAC音频编码支持

@Ta 10-22 15:23 815点击

UOS的蓝牙音频(A2DP)默认只支持SBC音频编码,音质很一般。现在很多蓝牙耳机都支持LDAC、aptX HD、aptX、AAC等高音质音频编码,虽然UOS默认不支持,但我们可以自行添加。

方案来自开源项目 https://github.com/EHfive/pulseaudio-modules-bt/wiki/Packages#ubuntu-1804-1810-1904
原文是适用于Ubuntu的安装方法,我在此改成适用于UOS 20的安装方法。此方法应该也适用于Deepin v20,不过我没有测试过。

安装步骤:

  1. 仅UOS需要,Deepin不需要:打开开发者模式(“控制中心 > 通用 > 开发者模式”)。

  2. 打开终端,输入如下命令并回车(添加蓝牙音频编码器软件源):

echo 'deb http://ppa.launchpad.net/eh5/pulseaudio-a2dp/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/pulseaudio-a2dp.list

此时会提示你输入密码,输入你的UOS开机密码即可。输入时不会显示任何内容,这是正常现象,输完回车即可。

  1. 继续在终端输入如下命令,一行一行粘贴并回车(不包括 # 井号开头的行):
# 信任刚添加的软件源(获取证书)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv A45582EC25E9D8E6
# 更新软件列表
sudo apt update
# 升级现有的蓝牙音频组件
sudo apt upgrade -y
# 安装支持LDAC、aptXX HD、aptX、AAC蓝牙音频解码器的音频组件
sudo apt install -y pulseaudio libavcodec58 libldac pulseaudio-modules-bt

ppa.launchpad.net 的服务器位于国外,如果命令下载文件的速度很慢,或者命令报错(比如“部分索引文件下载失败”),你可能需要自行采取措施。
UOS自带了 proxychains4 命令,你可以考虑使用。

  1. 重启电脑,断开蓝牙耳机(忽略设备)并重新配对,此时支持LDAC、aptX HD、aptX、AAC的耳机就可以用上这些编码器了。
    可以通过以下命令查看当前使用的编码器:
pactl list sources | grep -e bluez -e a2dp_codec; pactl list sinks | grep -e bluez -e a2dp_codec
比如我的结果是:

bluetooth.a2dp_codec = "LDAC"
表明我的耳机正在使用LDAC音频编码。

如果连接耳机后LDAC、aptX HD、aptX、AAC都没被使用,并且播放音质很差,该怎么办?

  1. 停用耳机的麦克风。启用麦克风会让耳机强制处于HFP(蓝牙免提通话)模式,音质极差。

    image.png

  2. 如果音质还是没有恢复,在多个播放设备之间切换试试。

  3. 如果音质还没有恢复,可以使用命令行强制切换到LDAC、aptX HD、aptX、AAC。

    a. 运行以下命令查询你耳机在系统内的编号以及支持的解码器类型:

       pacmd list-cards

    比如这是我的查询结果:

    image.png

    b. 通过以下命令把耳机切换到指定解码器。把4换成你在步骤a看到的耳机编号。如果你的耳机不支持ldac,请把a2dp_sink_ldac换成你在步骤a看到的其他解码器。

       pacmd set-card-profile 4 a2dp_sink_ldac

    如果你得到了以下结果,说明你电脑可能需要关闭蓝牙再重新打开才能切换到LDAC:

       Failed to set card profile to 'a2dp_sink_ldac'.

    注意:重新打开蓝牙后,设备编号会变,你得重新查询一次。

    c. 现在在播放设备里面选择你的耳机,就会是你指定的解码器了。
    注意不要选择耳机附带的麦克风,否则音质又会降低。

    image.png

    d. 用命令确认一下它正在用什么解码器:

       pactl list sources | grep -e bluez -e a2dp_codec; pactl list sinks | grep -e bluez -e a2dp_codec

    image.png

    确实是LDAC了。


电脑作为手机扬声器

通过上面的方法安装解码器之后,电脑实际上也具有了蓝牙音频接收功能。手机打开蓝牙配对功能,然后让电脑和手机配对,配对完成后手机就可以把电脑当做蓝牙音箱,播放音频到电脑上了。

我测试发现必须电脑发起配对才会成功,手机发起配对不会成功,电脑不会主动显示有配对请求。

Screenshot_2020-10-22-14-25-47-792_com.android.settings.jpgScreenshot_2020-10-22-14-25-52-565_com.android.settings.jpg

可以看到我的手机已经连接上电脑,电脑正在做为手机的蓝牙音箱,并且使用了音质较高的aptX HD编码。

需要说明的是,电脑不支持LDAC解码,因为索尼只开源了LDAC的编码器,没有开源解码器。所以电脑只能在连接到索尼耳机时使用LDAC,在手机连接到自己时不能使用LDAC

如果电脑和手机都没声音,注意在电脑上选一下播放设备,选择音箱即可。

image.png

没声音的原因是,电脑上虽然可以看到手机作为音频播放设备和录音设备,但实际上无法使用。配对完成后电脑默认选择了手机作为音频输入输出设备,所以此时手机和电脑都没有声音。不过,只要电脑选择了其他音频输出设备,就再也无法选回手机了(点击后蓝点不会停留在Phone选项上)。至于音频输入设备,倒是可以选手机,但是录出来的音频是手机播放的音乐,不是手机麦克风录到的内容。

电脑和手机同时在一个蓝牙耳机里播放音乐!

注意:能不能做到取决于你电脑的蓝牙模块能否同时连接两个蓝牙设备。有的蓝牙模块完全不能连接两个设备,有的蓝牙模块虽然可以,但是播放时会有巨大的杂音。

至于方法嘛,也很简单。电脑先和手机配对,然后再和蓝牙耳机配对。然后电脑再把播放设备选为蓝牙耳机。

image.png

此时,手机的播放设备是电脑,电脑的播放设备是蓝牙耳机。这样一来,手机和电脑上播放的音频就都会出现在蓝牙耳机里了。

我已经用小米10Pro、华硕天选FA506、索尼WH-1000XM3成功实现了这个结果。手机播放时音质似乎有点损失,但不严重,可接受。电脑播放时音质完全没有改变。整体效果非常好。

不过如果反复连接或者断开设备,有时候播放会变成噪音。此时需要彻底关闭电脑蓝牙再重连才行。

回复列表(1)
添加新回复
回复需要登录

[聊天-此处没有老虎] -:清理过缓存就好了。因为vivo自带浏览器无法使用hu60换头像功能,选择图片后界面没反应,还是格子马…