GitHub
logo SHORiNのARCH
Arch Linux Guide > Arch Linux > 音频配置

音频配置

音频配置(PipeWire)

PipeWire 的安装与固件配置在安装桌面环境前的准备中完成,本章只讲无声、蓝牙、多声卡等排障。

一、无声问题的排查顺序

1.1 先检查音量与输出设备

# 打开音量控制
pavucontrol

检查三件事:

  1. 输出设备是否正确(耳机 / 扬声器 / HDMI)
  2. 应用音量是否被单独静音
  3. 系统音量是否静音(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