声音去了哪里:扬声器、显示器与蓝牙耳机排障
读懂音频输出、输入、应用流和蓝牙连接,找出声音消失的环节并恢复原设置。
根据公开资料整理,未在实机验证。操作前请核对你的版本与硬件环境。
贯穿本篇的两个教学场景:接上外接显示器后,音乐不再从笔记本扬声器播放;蓝牙耳机可以听音乐,但会议里别人听不到你。你会学会区分默认设备、正在播放的应用、静音与输入设备,而不是一开始就重启所有音频服务。
设备名称、编号和输出均为教学数据,没有在你的硬件上实测。操作前记录当前设备、音量、静音和蓝牙配置档,便于撤销;通话与录音期间不做服务重启。
1. 音频组件怎样配合?
章节:1. 音频组件怎样配合?播放时,应用把音频交给 PipeWire,WirePlumber 的策略决定自动连接与设备选择,底层硬件或蓝牙链路把声音送到扬声器或耳机。WirePlumber 管理连接,不是另一个串联的音频播放器。
应用播放流 → PipeWire 中的音频连接 → 输出节点(sink) → 内置/USB/显示器音频硬件 → 或蓝牙音频设备
麦克风 → 输入节点(source) → PipeWire 中的音频连接 → 录音/会议应用 ↑ WirePlumber 管理设备、路由和默认选择 ↑| 组件或概念 | 作用 |
|---|---|
| PipeWire | 承载媒体节点与数据流 |
| WirePlumber | 管理设备、连接和会话策略 |
| BlueZ | 管理蓝牙设备连接,音频还需被媒体系统识别 |
| Sink | 播放输出,例如扬声器或耳机 |
| Source | 录音输入,例如麦克风 |
| Stream | 某个应用正在播放或录制的流 |
配对成功不等于音频输出已选中;听得见不证明麦克风正常。音频与视频层 · 网络与蓝牙层
2. 用同一段音频缩小范围
章节:2. 用同一段音频缩小范围选择一段熟悉的短音频,以适中音量测试。先在两个应用播放,再对比内置扬声器与耳机;每次只换一个条件。
| 现象 | 优先查看 |
|---|---|
| 只有一个应用没声音 | 应用音量、静音、选中的输出和实际播放流 |
| 所有应用都没声音,但设备列表存在 | 默认输出、设备音量与连接 |
| 插入显示器后声音消失 | 是否切到了显示器的 HDMI/DP 输出 |
| 耳机能播放,麦克风不工作 | 输入设备、应用权限与蓝牙音频配置档 |
| 所有输出设备都不见了 | 媒体服务与设备识别,而不是直接调音量 |
这一步可以避免“网站播放器暂停了”或“会议应用选了另一个设备”被当成系统故障。
3. 先读状态,再复制编号
章节:3. 先读状态,再复制编号在图形会话中用自己的用户查询:
wpctl status下面是简化教学输出,不是完整命令结果:
Audio Sinks: 51. Built-in Audio Analog Stereo [vol: 0.45] * 52. External Monitor HDMI [vol: 0.60] Sources: * 66. Built-in Audio Microphone [vol: 0.75] Streams: 80. Browser audioSinks 中星号标记默认播放目标,Sources 中星号标记默认录音目标。它们是两个不同默认值。0.45 表示 45% 音量,出现 MUTED 则表示静音。真实输出包含更多节点与连接,布局可能因版本不同。
编号 51、52、66 是会话对象 ID,不是永远固定的硬件编号。重连设备、重启服务或重新登录后可能改变。每次先查最新输出,并按设备名称认出目标。wpctl 手册
这里的 Sinks 与 Sources 节点 ID 才是设置播放或录音默认值的目标,不能随便从 Devices 区域复制一个设备 ID。想确认节点信息时:
wpctl inspect 51替换为当前节点;检查描述、名称和媒体类型是否对应计划中的输出。
4. 案例:声音被送到显示器
章节:4. 案例:声音被送到显示器先打开顶栏音量面板,选择内置扬声器,并检查系统音量和应用音量。官方面板提供输出选择与应用音量控制。Omarchy 音频入口
若使用终端,记录原来的默认输出名称,再从最新状态中取得内置扬声器的 sink ID。仅当它确实是 51 时,示例为:
wpctl set-default 51再查 wpctl status,预期默认输出星号转到内置扬声器。默认值主要决定需要自动连接的新音频流;已经播放的应用或自己指定设备的应用,不一定立即跟着切换。暂停再播放,必要时保存工作并重新启动应用,或在应用设置中选择正确输出。
若仍没有声音,查询选中节点的音量:
wpctl get-volume 51确认真的静音后,才取消该节点静音:
wpctl set-mute 51 0若音量为零或不合适,记录旧值,再设置一个较低的测试音量:
wpctl set-volume 51 30%每改一项就重播同一片段。不把默认输出、静音、音量和服务重启一次全部改完,否则无法判断是哪一步解决了问题。
验收:内置扬声器确实发声,应用不再使用显示器输出,重新开始播放仍正常。如果应用流在正确设备上、也未静音但没有物理声音,再查连接、硬件开关和设备支持。
5. 蓝牙:配对、连接和音频节点分开看
章节:5. 蓝牙:配对、连接和音频节点分开看在蓝牙面板依次确认设备已配对、当前已连接,再查 wpctl status 中有没有对应的耳机输出。只有配对记录、没有当前连接时,音频系统没有可用耳机是合理结果。
| 蓝牙面板与音频状态 | 优先调查 |
|---|---|
| 已配对,但未连接 | 耳机电源、其他已连接设备、蓝牙连接本身 |
| 已连接,但无对应 sink | 蓝牙音频接入、当前会话与媒体服务 |
| 有 sink,但未选中 | 输出选择,再检查应用流 |
| 有输出但没有期望的输入 | 设备能力与当前音频配置档 |
有条件时用内置扬声器对比。只在蓝牙失败、其他输出正常时,先聚焦蓝牙链路,不改所有音频配置。
6. 为什么音乐正常,开麦后音质变了?
章节:6. 为什么音乐正常,开麦后音质变了?经典蓝牙耳机常见两类用途:A2DP 用于音乐播放,HFP/HSP 用于包含麦克风的通话。启用耳机麦克风时可能切换配置档,音质和带宽随之变化;并非所有设备与编解码器表现一样,LE Audio 等方案还需要按实际支持判断。
先记录当前配置档,再做两个对照:用耳机听音乐;在会议里选择耳机麦克风后再次观察。若此时音质变化,检查是否发生了配置档切换,不直接判定耳机损坏。蓝牙配置 · 自动切换策略
如果更重视播放质量,可以测试“耳机播放+笔记本或 USB 麦克风”,在会议应用中明确分别选择输入与输出,并观察是否仍自动切换。只改变一个输入选择,保留原配置档以便恢复;不要为保留音乐模式直接禁用所有通话配置档,否则可能失去耳机麦克风能力。
7. 麦克风单独验证
章节:7. 麦克风单独验证wpctl get-volume @DEFAULT_SOURCE@它查询默认录音节点的音量与静音,不是扬声器。若报告静音、且你确实准备录音,可以取消输入静音:
wpctl set-mute @DEFAULT_SOURCE@ 0打开会议应用的麦克风测试或本地录音功能,确认输入设备名称,检查权限,录几秒自己的声音并回放。回放需要一个已验证的输出,否则“听不见录音”仍可能是播放问题。
| 结果 | 调查方向 |
|---|---|
| 本地录音正常,会议失败 | 应用设备选择、权限、通话设置 |
| 输入源存在,但录音无声音 | 硬件静音键、输入音量、选错源或连接 |
| 耳机源不存在 | 当前配置档与设备能力 |
| 浏览器站点不能录音 | 站点和浏览器权限;不只查系统默认值 |
只在需要录音时解除静音,测试后恢复原静音状态。默认输入与应用固定选择仍是两回事。
8. 服务与恢复:最后检查这一层
章节:8. 服务与恢复:最后检查这一层如果 wpctl status 无法连接,或全部节点突然消失,查询:
systemctl --user status pipewire pipewire-pulse wireplumber --no-pagerjournalctl --user -b -u pipewire -u wireplumber --since "10 minutes ago" --no-pager在自己的图形会话中执行,不加 sudo 去查询另一用户的媒体会话。兼容服务可能按需通过 socket 启动,不能仅凭某个暂时 inactive 的服务断定故障;结合实际音频请求、失败日志与 wpctl 结果。
对刚才还工作的设备,可在结束通话与录音后尝试官方 Update → Hardware → Audio;只有蓝牙链路异常时试 Bluetooth。一次重启一个子系统,之后重新获取 ID,再测同一片段。官方硬件处理
撤销测试时,按当前名称重新找到原输出或输入,在面板中恢复原选择、音量、静音与配置档;使用命令时也必须用最新 ID。恢复某个明确默认设备与恢复自动选择策略不是同一个目标,后者按本机 WirePlumber 版本的说明处理,不删除整份状态目录来碰运气。
求助时提供设备型号、连接方式、应用、失败前动作、对照结果和相关节点信息。完成标准是播放与录音分别通过,重新打开应用仍正常,并且没有遗留不必要的取消静音或试验设置。
来源与适用范围
章节:来源与适用范围核对于 2026-10-12:Omarchy 排障、WirePlumber 入门、wpctl、蓝牙配置、会话策略。菜单与节点名称需要按本机版本确认,例子不代表所有蓝牙硬件的实际能力。