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

Hos*_*ari 45 sound pulseaudio bluetooth

我可以用我的 BT 耳机听,但突然有一天,它从声音设置中永远消失了!

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

当我尝试这个命令时:

hcitool scan
Run Code Online (Sandbox Code Playgroud)

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

pactl list cards short
Run Code Online (Sandbox Code Playgroud)

只列出我的默认声卡而已!我该怎么办?

Tim*_*Tim 28

试试这个命令:

sudo -H pactl load-module module-bluetooth-discover
Run Code Online (Sandbox Code Playgroud)

每当我配对并成功连接时,我都会运行它,但在声音设置中仍然看不到它们。它本质上告诉pulseaudio加载重新加载它的蓝牙设备列表。

  • 我收到此错误:“失败:模块初始化失败”。有人可以帮忙吗? (24认同)
  • 为什么这个答案被接受?是什么导致问题开始的,长期修复是什么?Ubuntu 蓝牙对我来说效果很好,然后在断电后它完全停止工作。此命令修复了它,但每次我想使用蓝牙时都必须手动运行此命令**不是解决方案**。在提供更多解释之前,我已经拒绝了这个答案。 (10认同)
  • 我收到“连接失败:连接被拒绝 pa_context_connect() 失败:连接被拒绝” (8认同)
  • 您可能会考虑添加更多上下文——人们只是看到这个命令可能不知道它的作用,它是否粗略,是否需要在重新启动时重复等等。 (4认同)
  • 我在 Ubuntu 14.04 上遇到了同样的问题。但是,这个解决方案对我不起作用。 (3认同)
  • @BhikkhuSubhuti 对该存储库的最后一次更新是在 90 周前 - 将近 2 年。这不是 16.04 的解决方案 - 事实上它自 15.04 以来就没有工作过。 (3认同)
  • @Cerin,好的,你想知道什么?它有效 - 你承认 - 如果它有帮助,你应该投票。它被接受是因为它解决了 OP 的问题。如果它解决了它**它是一个解决方案**。 (2认同)
  • @Tim,为了你的车,我真的希望你只是在欺骗我。无论如何,这似乎是pulseaudio中的[未解决的错误](https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1274613)。 (2认同)
  • 我收到以下错误:`没有指定协议 xcb_connection_has_error() 返回 true 连接失败:连接被拒绝 pa_context_connect() 失败:连接被拒绝` (2认同)

Ale*_*yov 21

我在 Ubuntu 20.04 上使用 Pixus 蓝牙耳机时遇到了同样的问题。ubuntu 蓝牙管理器看到了耳机并正确连接了它们,但 ALSA 没有看到它们。

您可以通过命令查看蓝牙设备列表

bluetoothctl devices
Run Code Online (Sandbox Code Playgroud)

你可以通过命令检查 ALSA 的输出

pactl list sinks short
Run Code Online (Sandbox Code Playgroud)

我找到的解决方案是在文件 /etc/bluetooth/main.conf 中将选项 ControllerMode 设置为 bredr

# Restricts all controllers to the specified transport. Default value
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
# Possible values: "dual", "bredr", "le"
#ControllerMode = dual
ControllerMode = bredr
Run Code Online (Sandbox Code Playgroud)

当您更改选项后重新启动蓝牙服务

sudo gedit /etc/bluetooth/main.conf
sudo systemctl restart bluetooth
Run Code Online (Sandbox Code Playgroud)

然后再次连接耳机并检查 ALSA 是否看到它。如果是这样,那么它必须在 ubuntu 声音设置中显示为可用输出

pactl list sinks short
enter code here
Run Code Online (Sandbox Code Playgroud)

  • 这是唯一对我有用的解决方案。谢谢! (2认同)

dan*_*jar 17

扩展马克的回答,这基本上对我有用。

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

  1. 告诉蓝牙服务不要加载模块。为此,/etc/pulse/default.pa通过在这些行#前面放置字符来编辑和注释掉这些行:

    .ifexists module-bluetooth-discover.so
    load-module module-bluetooth-discover
    .endif
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重新启动pulseaudio 和bluetooh。重新启动机器或使用以下命令:

    pulseaudio -k
    start-pulseaudio-x11
    sudo service bluetooth restart
    
    Run Code Online (Sandbox Code Playgroud)

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

  • 我正在投票,但我所需要的只是“sudo service bluetooth restart” (4认同)
  • @user1945827:它是“pactl”,而不是“pact1”。它代表脉冲音频控制。 (2认同)

Mar*_*ark 12

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

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

nano /etc/pulse/default.pa

注释掉以下几行:

#.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
#.endif
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud) 添加以下几行:
/usr/bin/pactl load-module module-bluetooth-discover
/usr/bin/pactl load-module module-switch-on-connect
Run Code Online (Sandbox Code Playgroud)

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

  • 是否有一些服务需要重新启动才能使这些更改生效? (4认同)

小智 7

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

sudo apt-get install pulseaudio-module-bluetooth
Run Code Online (Sandbox Code Playgroud)

直到那时才完成这项工作

sudo -i pactl load-module module-bluetooth-discover
Run Code Online (Sandbox Code Playgroud)

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


Lou*_*non 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
Run Code Online (Sandbox Code Playgroud)

这样,您就不必再运行

sudo -i pactl load-module module-bluetooth-discover
Run Code Online (Sandbox Code Playgroud)

命令每次但只有一次。在 14.04 LTS 上为我工作(可信赖)

来源