音频配置(PipeWire)
PipeWire 的安装与固件配置在安装桌面环境前的准备中完成,本章只讲无声、蓝牙、多声卡等排障。
一、无声问题的排查顺序
1.1 先检查音量与输出设备
# 打开音量控制
pavucontrol
检查三件事:
- 输出设备是否正确(耳机 / 扬声器 / HDMI)
- 应用音量是否被单独静音
- 系统音量是否静音(pavucontrol 顶部的"静音"图标)
1.2 检查 PipeWire 服务状态
systemctl --user status pipewire pipewire-pulse
如果未运行:
systemctl --user enable --now pipewire pipewire-pulse
检查 wireplumber(设备管理):
systemctl --user status wireplumber
1.3 命令行诊断工具
# 列出音频设备
wpctl status
# 查看默认输出设备
wpctl inspect @DEFAULT_AUDIO_SINK@
# 切换默认输出设备(如耳机和扬声器)
wpctl set-default 设备ID
二、蓝牙音频
2.1 连接后无声音
# 确认蓝牙服务
systemctl status bluetooth
# 查看连接状态
bluetoothctl
# 在 bluetoothctl 里执行:
# devices 列出设备
# connect 设备MAC
连接后无声,在 pavucontrol 的"配置"页把设备配置文件从 "Headset Head Unit" 改为 "High Fidelity Playback"(A2DP),或反过来切换一次。
2.2 蓝牙音频卡顿
检查蓝牙编码是否走了低质量路径。wpctl status 看设备 profile,切换为 A2DP 可改善音质。
三、HDMI / 显示器音频
HDMI 无声通常是输出设备没切对:
wpctl status
找到显卡对应的 audio sink(通常叫 "HDMI / DisplayPort"),设默认:
wpctl set-default 设备ID
四、多声卡默认设备
装了 USB 声卡或显示器音频后默认输出可能乱跳。用 wpctl status 找到想用的设备 ID:
wpctl set-default 设备ID
需要持久化,新建文件 ~/.config/wireplumber/wireplumber.conf.d/50-default-sink.conf:
monitor.alsa.rules = [
{
matches = [
{ node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo" }
]
actions = {
update-props = {
priority.session = 1000
}
}
}
]
五、录音 / 麦克风
# 测试录音
arecord -d 5 /tmp/test.wav
aplay /tmp/test.wav
麦克风被应用占用时,pavucontrol 的"录制"页可以切换应用使用的输入设备。
六、恢复默认配置
配置改坏了:
rm -rf ~/.config/pipewire ~/.config/wireplumber
systemctl --user restart pipewire wireplumber
SHORiNのARCH