蓝牙耳机已连接但未在声音设置中显示


36

我可以用BT耳机收听,但是突然之间,有一天,它从声音设置中消失了!

我什至已经重新配对了耳机(并且已经连接好了耳机),但是在声音设置中没有任何选项可以收听。

当我尝试此命令时:

hcitool scan

它找不到任何设备!甚至这个命令:

pactl list cards short

仅列出我的默认声卡!我该怎么办?

Answers:


29

试试这个命令:

sudo -H pactl load-module module-bluetooth-discover

配对并成功连接后,我都会运行此程序,但在声音设置中仍然看不到它们。它从本质上告诉Pulseaudio要重新加载它的蓝牙设备列表。

我的代词是他/他


3
你可能会考虑加入多一点背景-人们只看到该命令可能根本不知道它做什么,无论是粗略的,是否需要重新启动上被重复,等等。
belacqua

8
为什么这个答案被接受?是什么导致问题开始的,长期解决方案是什么?Ubuntu蓝牙对我来说非常理想,然后在断电后完全停止工作。此命令可以解决此问题,但是每次我要使用蓝牙时必须手动运行此命令不是解决方案。在提供更多解释之前,我已否决了这个答案。
塞林2014年

3
我在Ubuntu 14.04上遇到了同样的问题。但是,此解决方案对我不起作用。
Ashwin Nanjappa 2014年

17
我收到此错误:“失败:模块初始化失败”。有人可以帮忙吗?
杰·查克拉

3
@BhikkhuSubhuti该存储库的最新更新是在90周前-将近2年。那不是16.04的解决方案-实际上,自15.04起它没有工作。
蒂姆(Tim)

10

耳机已正确配对并显示在“蓝牙设备”下,但未显示为可用的INPUT / OUTPUT音频源。问题是,pulseaudio蓝牙模块在X11之前加载,更改几个配置文件就可以了:

PulseAudio无法加载蓝牙模块15.10 / 16.04

nano /etc/pulse/default.pa

注释掉以下几行:

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

nano /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
添加以下行:
/usr/bin/pactl load-module module-bluetooth-discover
/usr/bin/pactl load-module module-switch-on-connect

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


4
是否需要重新启动某些服务才能使这些更改生效?
Michael Scheper

您可以在命令行上触发它们,如上面的答案..我的文章是如何在启动时使其自动化。
马克·

我想您是说如果/usr/bin/pactl在命令行中键入这三个命令,它们将立即生效。看起来两个要添加到/usr/bin/start-pulseaudio-x11if语句也应该放在语句中。您可以确认这两个观察结果吗?谢谢!
Michael Scheper

1
这些行插入在所示的后面,if..fi但在较大的内if [ x"$DISPLAY"...fi。是的,您应该能够直接在终端中执行命令。
Mark

8

扩展Mark的答案,这基本上对我有用。

问题在于,蓝牙服务尝试在启动时加载pulseaudio蓝牙模块,该模块失败,因为它们需要运行X11。您需要更改配置,以便在X11之后加载pulseaudio蓝牙模块。

  1. 告诉蓝牙服务不加载模块。为此,请/etc/pulse/default.pa在这些行之前添加以下#字符来编辑并注释掉这些行:

    .ifexists module-bluetooth-discover.so
    load-module module-bluetooth-discover
    .endif
    
  2. 配置要在X11之后加载的模块。为此,请编辑/usr/bin/start-pulseaudio-x11并添加两行:

    if [ x"$DISPLAY" != x ] ; then
        # ...
    
        # Add these lines:
        /usr/bin/pactl load-module module-bluetooth-discover
        /usr/bin/pactl load-module module-switch-on-connect
    fi
    
  3. 重新启动pulseaudio和bluetooh。重新启动计算机或使用以下命令:

    pulseaudio -k
    start-pulseaudio-x11
    sudo service bluetooth restart
    

这样,pulseaudio蓝牙模块应该可以工作,并且音量控制(pavucontrol)应该检测到蓝牙设备并将其列出在输入和输出设备下。


以上对我不起作用;相反,我得到了start-pulseaudio-x11 / usr / bin / start-pulseaudio-x11:24:/ usr / bin / start-pulseaudio-x11:/ usr / bin / pact1:找不到
user1945827 '18

1
@ user1945827:它是“ pactl”,而不是“ pact1”。它代表PulseAudio Control。
static_rtti

1
@static_rtti谢谢。我设法使它起作用。
user1945827'5

1
我正在投票,但我所要做的只是sudo service bluetooth restart
怒吼

6

永久的解决方案是添加blueman PPA并将您的软件包更新到已修复该错误的最新版本:https : //launchpad.net/~blueman/+archive/ubuntu/ppa

sudo add-apt-repository ppa:blueman/ppa
sudo apt-get update
sudo apt-get upgrade

这样,您就不必再运行

sudo -i pactl load-module module-bluetooth-discover

每次只能命令一次。在14.04 LTS(Trusty)上为我工作

资源


这不适用于16.04。该存储库没有适用于其的发行候选版。
k0pernikus

@ k0pernikus好像你可以sudo apt install blueman直接在16.04:askubuntu.com/questions/764273/...
安德鲁·毛

4

我无法对最佳响应发表评论,但我想在我的Ubuntu MATE 12.04 LTS笔记本电脑上添加它,我必须这样做:

sudo apt-get install pulseaudio-module-bluetooth

才做这项工作

sudo -i pactl load-module module-bluetooth-discover

然后,我必须进入蓝牙管理器应用程序,将设备配对,然后设置为“音频接收器”模式,然后才能在Ubuntu Sound选项中看到该设备并操纵输入/输出!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.