蓝牙耳机无法与运行 Ubuntu 20.04 的 Dell XPS 15 9500 笔记本电脑配合使用

use*_*817 3 sound headphones bluetooth

我在 Dell XPS 15 9500 笔记本电脑上使用 Ubuntu 20.04。我从来没有找到任何可以与我的笔记本电脑配合使用的蓝牙耳机,我已经有过三四对不同的耳机了。我现在有了一副新耳机,我想是时候弄清楚如何让它工作了。

耳机是OnePlus Buds Z2。

看来耳机已正确连接:

在此输入图像描述

但如果我播放任何内容,它就会像往常一样通过我的笔记本电脑扬声器播放。

Rin*_*ind 5

  1. Oneplus Buds Z2 可能支持免提配置文件 (HFP),而不支持听筒配置文件 (HSP)。
  2. Linux(使用pulseaudio)本身仅支持HSP。

我相信有 3 种方法可以解决这个问题。

  • 如果设置为 HFP 并且确实支持 HSP,请切换配置文件(OnePlus 倾向于在 Buds 上的配置文件支持之间切换(有些使用 HFP,有些也使用 HSP)。如果您可以自行切换。

  • 向pulseaudio 添加对HSP 的支持。您可以通过ofono做到这一点。安装说明很长并且需要编辑一些配置。

  • 但我建议开始使用 pipelinewire,因为它支持 HSP。在下一个 Ubuntu 版本中,pipewire 是默认设置,并将取代pulseaudio,因此它是最具未来前景的修复。如果您使用 22.04,它也已经被加载(但也使用较旧的方法,因此接下来的说明应该对此有所帮助)检查:

    systemctl --user status pipewire pipewire-session-manager
    
    Run Code Online (Sandbox Code Playgroud)

使用管道线:

要开始使用它,您确实需要具有最新版本和一些库的 ppa,建议在当前使用的媒体会话上使用新的wireplumber(命令-中的将其删除)

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update

sudo apt install pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack
sudo apt install wireplumber pipewire-media-session-
Run Code Online (Sandbox Code Playgroud)

并删除与蓝牙的pulseaudio连接

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

之后启用新的wireplumber...

systemctl --user --now enable wireplumber.service
Run Code Online (Sandbox Code Playgroud)

为了验证一切顺利:pactl into那应该有一行Server Name: pulseaudio (on Pipewire {version})


要恢复(再次: - 删除wireplumber):

sudo apt remove pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack
sudo apt install wireplumber- pipewire-media-session
Run Code Online (Sandbox Code Playgroud)

并切换服务(不确定是否需要第三个服务):

systemctl --user --now enable pipewire-media-session
systemctl --user --now disable pipewire-pulse.service pipewire-pulse.socket
systemctl --user --now reenable pulseaudio.service pulseaudio.socket
Run Code Online (Sandbox Code Playgroud)