我正在运行 Debian 不稳定版。它.asoundrc
看起来像这样:
pcm.btheadset
{
type plug
slave
{
pcm
{
type bluetooth
device 5A:5A:5A:A6:08:09
profile "auto"
}
}
}
ctl.btheadset
{
type bluetooth
}
我可以通过耳机播放音乐,但是无法控制音量。
$ alsamixer -D btheadset
ALSA lib audio/ctl_bluetooth.c:167:(bluetooth_send_ctl) Unable to receive new volume value from server
ALSA lib audio/ctl_bluetooth.c:161:(bluetooth_send_ctl) Unable to request new volume value to server: Broken pipe
cannot load mixer controls: Broken pipe
daemon.log
有这个:
bluetoothd[15628]: Invalid message: length mismatch
有什么想法吗?我怀疑这可能是二进制文件不匹配,所以我尝试降级bluez
到 Debian 稳定版。没有运气。也许我应该对 alsa 库进行同样的尝试...
许多常见问题解答和教程都建议使用 PulseAudio 来自动解决此问题,但是我安装了它后,它卸载了几十个我不感兴趣的依赖项,结果变成了一个对用户非常不友好的守护进程,拒绝播放任何声音。所以我对这个解决方案不感兴趣。
答案1
找到了一个解决方法。使用 alsa 的softvol
插件在软件中控制音量。
将其添加到.asoundrc
:
pcm.btheadset_softvol
{
type softvol
slave.pcm "btheadset"
control.name "Bluetooth"
control.card 0
}
现在我告诉软件播放到设备btheadset_softvol
,并且我的主声卡的混音器有一个“蓝牙”选项。