Pulseaudio 无法自动检测蓝牙耳机

Pulseaudio 无法自动检测蓝牙耳机

我的 Xubuntu 13.10 上的 Pavucontrol 检测到我的蓝牙耳机,但只有在我输入以下命令后才能检测到:

pulseaudio -k
sudo alsa force-reload

几秒钟后,耳机出现在配置选项卡中。

我也尝试插入行

load-module module-switch-on-connect

在 /etc/pulse/default.pa 中,但它没有帮助。我尝试过清除和自动删除并重新安装从 alsa 到 pulseaudio 和 pulseaudio-module-bluetooth 的所有内容。毫无效果。

有没有一种解决方法可以不使用 force-reload 命令来加载耳机?让 pulseaudio 守护进程自动识别设备?

我尝试添加:

    pcm.bluetooth {
    type bluetooth
    device "XX:XX:XX:XX:XX:XX"
    profile "auto"
   }

到我的主目录中的 .asoundrc 文件,但这并没有什么区别

终止 pulseaudio 守护进程后,我的均匀音量热键停止工作。我必须分配

amixer set Master 4%- -q unmute
amixer set Master 4%+ -q unmute

到其他按键组合来从键盘管理音量。将命令分配给热键不起作用。音量键如何绑定到守护进程?是否有其他方法将按键绑定到新守护进程(重新启动后)?

更新

找到问题了。使用命令

pactl list | grep -i module-bluetooth-discover

我发现蓝牙发现模块没有加载。

但是 /etc/pulse 中的 default.pa 文件包含以下行

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

那么为什么该模块在 pulseaudio 启动时没有加载?

发出命令后

sudo pactl load-module module-bluetooth-discover

蓝牙耳机正常工作,自动检测,无需杀死并重启alsa。

答案1

我在另一个答案上找到了解决这个问题的方法,问题是 pulseaudio 蓝牙模块是在 X11 之前加载的,更改几个配置文件就可以了:PulseAudio 无法加载蓝牙模块 15.10/16.04/16.10

vim /etc/pulse/default.pa

注释掉(在行首使用 # 标记)以下行:

#load-module module-bluetooth-policy
#load-module module-bluetooth-discover

现在编辑文件/usr/bin/start-pulseaudio-x11找到以下几行:

   if [ x”$SESSION_MANAGER” != x ] ; then
    /usr/bin/pactl load-module module-x11-xsmp “display=$DISPLAY session_manager=$SESSION_MANAGER” > /dev/null
   fi

并将其改为:

   if [ x"$SESSION_MANAGER" != x ] ; then
    /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
   #
   # Added per StackExchange http://askubuntu.com/questions/366032/pulseaudio-not-detecting-bluetooth-headset-automatically
   #
    /usr/bin/pactl load-module module-bluetooth-policy
    /usr/bin/pactl load-module module-bluetooth-discover
   fi

这样,Pulse 音频的蓝牙模块将不会在启动时下载,而是在 x11 启动后下载。

此修复与以下当前建议相悖: https://freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/

答案2

这:

sudo apt-get install pulseaudio-module-bluetooth 
sudo pactl load-module module-bluetooth-discover

在 Ubuntu 14.10(Lenovo x240)上为我工作,至少我的蓝牙设备在 pulseaudio 中列出。

答案3

Blueman 中的一些(遗留的?)代码似乎存在问题,故意卸载 module-bluetooth-discover在启动时(即从 加载后)/etc/pulse/default.pa。有关更多详细信息,请参见:https://github.com/blueman-project/blueman/issues/64

答案4

分析了大量帖子后,我的结论是,blue man 故意卸载了 module-bluetooth-discover 模块,所以对我来说,解决方案是从我的系统中卸载 blueman。之后,一切正常。

相关内容