昨天我花了几乎一整天的时间尝试完成一件我认为简单的事情:让蓝牙耳机能够在 Linux 上运行。
我知道 Linux 蓝牙堆栈有 bluez - Raspbian 的官方来源包含版本 4.99,该版本应该支持 A2DP、HFP 和 HSP。据我所知,较新的版本 5.xx 已放弃对 HFP 和 HSP 的支持(无论出于何种原因)。
我所做的是从官方来源安装 bluez 并配对耳机。我添加了一个/etc/asound.conf
文件:
pcm.btheadset {
type plug
slave {
pcm {
type bluetooth
device XX:XX:XX:XX:XX:XX
profile "auto"
}
}
hint {
show on
description "BT Headset"
}
}
ctl.btheadset {
type bluetooth
}
}
然后我就可以用 输出音频了aplay -D btheadset -f S16_LE < /etc/kernel.img
。
我尝试以相同的方式使音频输入工作,arecord -D btheadset /tmp/test.wav
但是它没有记录任何内容。
我猜只有 A2DP 可以工作,HSP/HFP 不行。我谷歌搜索了很多,但似乎蓝牙耳机在 Linux 下并没有得到很好的支持。这真的让我很惊讶——真的没有人用这个吗?
我甚至正在考虑阅读蓝牙编程——有什么想法从哪里开始吗?
另外,我很好奇,因为这款耳机在 Android 上工作正常,据我所知,Android 也使用 bluez 5.xx。对此有什么看法?
感谢您给我的所有提示。