Alsamixer 无法与蓝牙设备配合使用

Alsamixer 无法与蓝牙设备配合使用

我正在运行 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,并且我的主声卡的混音器有一个“蓝牙”选项。

相关内容