自从我安装了Ubuntu 20.04以来,我遇到了一个问题,系统无法检测到我的蓝牙耳机麦克风。我的耳机在Windows下工作得很好。此外,在Ubuntu中我也无法从AD2P切换到HFP。所以我的最终想法是移除pulseaudio并安装pipewire,希望这样能解决我的问题。
请问有人可以提供具体的步骤吗?我已经搜索了很多次,但没有找到正确的步骤。
非常感谢!
请问有人可以提供具体的步骤吗?我已经搜索了很多次,但没有找到正确的步骤。
非常感谢!
ofono
、phonesim
。值得注意的是,即使按照所有配置ofono
在PulseAudio中的步骤,我的问题仍未解决。所以我提出了用PipeWire替换PulseAudio的步骤。我不确定,但如果可能的话,你可以尝试在其他版本上运行这个。
9. 在 Pipewire 的新更新之后,你还需要启用 pipewire-media-session-service
。
systemctl --user --now enable pipewire-media-session.service
systemctl --user restart pipewire
sudo apt remove ofono
sudo apt remove ofono-phonesim
systemctl --user unmask pulseaudio
systemctl --user --now disable pipewire{,-pulse}.{socket,service}
systemctl --user --now enable pulseaudio.service pulseaudio.socket
pactl info
此外,你需要尝试重新启动 pipewire,解除配对并重新配对你的设备。 - 1nfern0pactl info
的输出如下:服务器字符串:/run/user/1000/pulse/native
库协议版本:34
服务器协议版本:35
是否本地:是
客户端索引:83
块大小:65472
用户名:ben
主机名:ben-desktop
服务器名称:PulseAudio(在PipeWire 0.3.28上)
服务器版本:14.0.0
默认采样规范:float32le 2ch 48000Hz
默认通道映射:front-left,front-right
默认音频输出:bluez_output.AC_12_2F_24_03_B1.a2dp-sink
默认音频输入:bluez_output.AC_12_2F_24_03_B1.a2dp-sink.monitor
Cookie: 0e10:4a04 - BenMsystemctl --user mask pulseaudio
在安装pipewire之后,你的蓝牙服务和配对、解除配对设备是否正常工作? - 1nfern0sudo apt-get install -y blueman
。 - 1nfern0pactl info
的输出结果? - 1nfern0bluez.msbc-support = true
。然后在Ubuntu声音设置中选择该音频编解码器。音质仍然不如A2DP好,但这是在使用耳机上的耳机配置文件时会发生的情况。 - BenM.config/pulse
文件夹。现在,我可以选择 SBC、SBC-XQ 和 AAC 作为 A2DP 的选项,以及 CVSD 和 mSBC 作为 HSP/HFP 的选项,并且适用于 Jabra Elite 85t。 - Moritzsudo apt remove pulseaudio-module-bluetooth
命令,否则蓝牙可能会出现问题。 - Leo AlekseyevCtrl + Alt + F2
并重新安装Gnome apt install --reinstall gnome
,我成功修复了它(也许这对其他人有帮助)。 - Juroshpactl info
给我返回了连接失败。我通过运行以下命令解决了这个问题:
systemctl --user --now enable pipewire pipewire-pulse
。sudo systemctl --user --now enable pipewire pipewire-pulse
sudo systemctl --user --now enable pulseaudio.service pulseaudio.socket
再次禁用pulseadio:
sudo pkill pulseaudio
sudo /etc/init.d/bluetooth restart
我不太确定哪个起了作用... 但是现在之后:
pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
$ sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
pipewire-audio-client-libraries
软件包$ sudo apt update
$ sudo apt install pipewire pipewire-audio-client-libraries
$ sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,media-session,bin,locales,tests}}
$ systemctl --user daemon-reload
$ systemctl --user --now disable pulseaudio.service pulseaudio.socket
$ systemctl --user --now enable pipewire pipewire-pulse
$ pactl info
#!/bin/bash
# Toggle your bluetooth device (e.g., Bose Headphones) between A2DP mode (high-fidelity playback with NO microphone) and HSP/HFP, codec mSBC (lower playback quality, microphone ENABLED)
function tbt {
current_mode_is_a2dp=`pactl list | grep Active | grep a2dp`
card=`pactl list | grep "Name: bluez_card." | cut -d ' ' -f 2`
if [ -n "$current_mode_is_a2dp" ]; then
echo "Switching $card to mSBC (headset, for making calls)..."
pactl set-card-profile $card headset-head-unit-msbc
else
echo "Switching $card to A2DP (high-fidelity playback)..."
pactl set-card-profile $card a2dp-sink
fi
}
pactl info
给了我一个连接拒绝的错误(在按照Ubuntu 20.04 LTS上被接受的答案的第9步之后)。我通过使用wireplumber
而不是pipewire-media-session-service
来解决了这个问题。
➜ / sudo systemctl --global --now enable pipewire{,-pulse}.{socket,service}
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
➜ / sudo systemctl --global --now enable pipewire pipewire-pulse
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
➜ / sudo systemctl --user --now enable pipewire pipewire-pulse
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
➜ / sudo systemctl --user --now enable pulseaudio.service pulseaudio.socket
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
➜ /