2021年更新:PulseAudio支持AptX、LDAC -
https://9to5linux.com/pulseaudio-15-0-released-with-support-for-ldac-and-aptx-codecs-improved-hardware-support
2018年10月27日编辑:PulseAudio正在开发LDAC、APTX(-HD)和AAC的支持。EHfive在GitHub上有一个
存储库,其中包含补丁,还有一个适用于18.04及以上版本的PPA,请查看Wiki获取更多信息。看起来这些补丁将在某个时间点上游到达。我在18.04上检查了PPA,它可以正常工作,尽管它将PA 11.1替换为12,并安装了更新版本的ffmpeg和x265。
编辑于2017年12月18日:几周前我可能错过了,但是现在FFmpeg中似乎有一个编码器。据我所知,目前没有用户友好的解决方案。
简短回答
您必须使用特殊品牌的蓝牙适配器。请查看本答案的然后我如何使用aptX?部分,或浏览aptx.com网站以获取发射器。
更详细的回答
许可问题
aptX编解码器是一种专有标准,CSR从APT Licensing Ltd.收购了该标准,旨在通过成分品牌推广开发和销售aptX高保真蓝牙音频解决方案。你说得对,这是CSR销售独家芯片的策略。
我在查看解码器许可协议时找到了以下条款:
虽然这并没有回答关于编码器的问题,但我可以说,情况至少和其他专有编解码器和软件组件一样困难(
1,
2,
3)。
那么,我该如何使用aptX呢?
你可以使用它,只是不能作为免费软件解决方案。
您可以找到特别品牌的蓝牙适配器,被称为aptX发射器。这些不是典型的纳米或皮克尺寸的蓝牙适配器,而是USB音频类设备。(请查看维基百科上USB文章的设备类别部分获取更多信息。)这意味着这些设备将被识别为声卡,并且不会提供给主机计算机蓝牙连接功能。但也有一个主要缺点:它们的价格几乎是普通蓝牙适配器的10倍。
按字母顺序列出的aptX发射器或支持aptX的蓝牙适配器清单:
- Creative BT-D1 USB蓝牙发射器,蓝牙2.1 + EDR
- Creative BT-W1/BT-W2 USB,蓝牙2.1 + EDR
- Sennheiser BTD 500 USB,蓝牙3.0
- Avantree BTDG-50-WGR,蓝牙4.1 with aptX LL
- 1mii B10,蓝牙5.0 with aptX LL,通过AskNoah,ASIN:B083TD9VW4(美国),B086KXR1CF(德国)
- Avantree DG80,蓝牙5.0 with aptX LL
- 外观与1mii B10相似,可能是同一款。作为赞助的亚马逊搜索结果出现。我打算测试两者,尤其是在立体声模式下与两个Nest Audio一起使用,目前存在1秒的延迟,我需要在PulseAudio中进行调整。
检查连接的配置编解码器
安装
bluez-hcidump
并运行
sudo hcidump avdtp
,然后连接设备并寻找配置协商。以下是我得到的结果(参见
also),看起来它尝试了aptX、AAC,最终选择了SBC。
$ sudo hcidump avdtp
HCI sniffer - Bluetooth packet analyzer ver 5.35
device: hci0 snap_len: 1500 filter: 0x400
< AVDTP(s): Discover cmd: transaction 11 nsp 0x00
> AVDTP(s): Discover rsp: transaction 11 nsp 0x00
ACP SEID 5 - Audio Sink
ACP SEID 3 - Audio Sink
ACP SEID 1 - Audio Sink
< AVDTP(s): Capabilities cmd: transaction 12 nsp 0x00
ACP SEID 5
> AVDTP(s): Capabilities rsp: transaction 12 nsp 0x00
Media Transport
Media Codec - non-A2DP (aptX)
16kHz 32kHz 44.1kHz 48kHz
Stereo
< AVDTP(s): Capabilities cmd: transaction 13 nsp 0x00
ACP SEID 3
> AVDTP(s): Capabilities rsp: transaction 13 nsp 0x00
Media Transport
Media Codec - MPEG-2,4 AAC
MPEG-2 AAC LC MPEG-4 AAC LC
8kHz 11.025kHz 12kHz 16kHz 22.05kHz 24kHz 32kHz 44.1kHz 48kHz
1 2 Channels
320000bps VBR
Content Protection
02 00
< AVDTP(s): Capabilities cmd: transaction 14 nsp 0x00
ACP SEID 1
> AVDTP(s): Capabilities rsp: transaction 14 nsp 0x00
Media Transport
Media Codec - SBC
16kHz 32kHz 44.1kHz 48kHz
Mono DualChannel Stereo JointStereo
4 8 12 16 Blocks
4 8 Subbands
SNR Loudness
Bitpool Range 2-53
Content Protection
02 00
< AVDTP(s): Set config cmd: transaction 15 nsp 0x00
ACP SEID 1 - INT SEID 1
Media Transport
Media Codec - SBC
44.1kHz
JointStereo
16 Blocks
8 Subbands
Loudness
Bitpool Range 2-53
> AVDTP(s): Set config rsp: transaction 15 nsp 0x00
< AVDTP(s): Open cmd: transaction 0 nsp 0x00
ACP SEID 1
> AVDTP(s): Open rsp: transaction 0 nsp 0x00
< AVDTP(s): Start cmd: transaction 1 nsp 0x00
ACP SEID 1
> AVDTP(s): Start rsp: transaction 1 nsp 0x00
< AVDTP(m): ver 2 cc 0 pt 1 seqn 0 time 0 ssrc 1
< AVDTP(m): ver 2 cc 0 pt 1 seqn 1 time 896 ssrc 1
故障排除
- A2DP只能单向传输音频,如果要进行电话通话,请使用HSP/HFP配置文件。
- 如果耳机或设备无法被识别,或者在例如VLC中没有列出作为输出设备,尝试通过声音设置切换到另一个声卡,然后再切换回来。设备应该会被识别。
Ubuntu手机怎么样?
我不知道Ubuntu手机是否支持这种编解码器。CSR文档中提到解决方案适用于Android设备制造商,所以我认为这取决于手机制造商是否以及如何支持。当然,Ubuntu Touch通常支持蓝牙耳机,我成功地将我的运行Ubuntu的Nexus 4与我测试过的耳机配对了。
我的经验和测试
已测试的蓝牙模块和适配器:
- 带有纳米蓝牙2.1和4.0适配器的台式机,内置模块的Lenovo T530。- 在播放来自FLAC文件的音乐时,A2DP几乎达到了与BTD 500相同的音质水平。电影的音频与14.04同步。
- Sennheiser BTD 500 USB。- 配对所需时间与普通非NFC适配器一样长。
已测试的耳机:
- Philips Fidelio M1BTBL,蓝牙4.0。- 与所有适配器和模块兼容,工作正常。
- Sony MDR-10RBT,蓝牙3.0,NFC。- 与所有适配器和模块兼容,工作正常。
- Creative Sound Blaster EVO ZxR,蓝牙2.1,NFC。- 这款耳机的接收范围是三款中最好的,但无法连接到BTD 500。