网页录屏没声音的完整排查:系统声音和麦克风是两条独立的路

· 约 6 分钟 ⏺️ 屏幕录制

录屏出来是默片,第一反应通常是「工具不行」。但网页录屏里的声音不是一个开关,而是两条互不相干的通路:一条是系统声音(画面里的视频、音乐、会议对方的说话声),由浏览器的屏幕共享接口提供;另一条是麦克风(你自己的讲解),走的是普通的媒体设备接口。两条路的支持度、授权方式、失败原因完全不同,混在一起排查就永远排不清。

先把结论摆前面:系统声音这条路能不能通,取决于「浏览器 × 共享范围 × 操作系统」三者的组合;麦克风那条路则几乎只和授权有关。

第一层:浏览器决定系统声音有没有可能

浏览器系统声音麦克风行为
Chrome / Edge支持支持共享面板里提供音频勾选项
Firefox不支持支持请求音频被静默忽略,只返回视频轨
Safari不支持支持请求音频直接抛异常

三种表现里最讨厌的是 Firefox:它不报错,只是安静地少给你一条音轨,很容易让人以为勾了就录上了。Safari 反而干脆,直接失败——本工具捕获到这类异常后会去掉音频再试一次,把录制救回来,同时在录制条上写明「当前浏览器不支持采集系统声音,已改为仅录画面」。

所以第一步不是研究设置,而是看你用的是什么浏览器。要录画面里的声音,换 Chrome 或 Edge。

第二层:共享范围决定音频从哪来

Chromium 的音频采集不是一个统一通道,而是按共享范围分成两种机制:

  • 标签页音频——浏览器自己的音频管道,和操作系统无关,所以全平台可用
  • 整机音频——需要操作系统提供回环通道,只有 Windows 有

这直接推出一条实用规则:

你的声音来自推荐共享范围Mac 上可行Windows 上可行
网页视频、在线会议、网课Chrome 标签页
桌面软件(本地播放器、桌面版会议)整个屏幕 + 分享系统音频
只有你的旁白任意

Mac 用户被坑得最多的就是这一格:选了「整个屏幕」,勾选项根本不出现,或者出现了也拿不到音轨——因为 macOS 没有公开的系统回环接口,这不是浏览器版本问题。工具此时会提示「浏览器未提供系统声音」。

Mac 上要录桌面软件的声音,只有两条路:装 BlackHole、Loopback 这类虚拟音频设备,把系统输出转成一个可被采集的输入设备,然后当成「麦克风」录进来;或者改用 macOS 自带的录屏。走虚拟声卡这条路有个副作用,下一节会讲。

第三层:面板里那个不起眼的勾选框

即使浏览器和范围都对,Chrome 共享面板左下角的**「同时分享标签页音频」/「分享系统音频」默认是不勾的**。这大概是所有「录屏没声音」里占比最高的单一原因——面板一闪而过,多数人只顾着点右下角的「分享」。

面板是浏览器的原生 UI,网页无法代你勾选,也读不到你勾没勾。工具只能在拿到流之后数一数音轨:请求了音频却一条都没拿到,就在录制条上挂出警告。开录后先看那一行提示,比录完二十分钟再发现划算得多。

麦克风那条路:只有三类故障

麦克风的失败原因收敛得多:

  • 权限——被拒绝过一次后浏览器不再弹窗,只会静默失败。点地址栏左侧的图标检查本站权限;macOS 还有一层系统设置 → 隐私与安全性 → 麦克风,要确认浏览器本身被勾上
  • 设备——默认输入指向了已断开的蓝牙耳机或残留的虚拟声卡,授权成功但没有有效音轨
  • 占用——Windows 上部分驱动是独占模式,会议软件正在通话时会锁住麦克风

工具的处理原则是麦克风失败不中断录制:降级为无麦,继续录画面,并在录制条上写明「麦克风未授权或被占用,本次不含麦克风声音」。这个取舍是有意的——录到一半因为麦克风掉线而整段丢掉,比没有旁白严重得多。

为什么系统声音听起来干净、麦克风路的音乐发闷

浏览器的音频采集有三个默认开启的处理开关:回声消除、降噪、自动增益。它们是为通话人声调的,对音乐是有害的——降噪会把音乐里稳定的持续音当成噪声压掉,自动增益会把动态范围压平。

本工具因此对两路做了相反的设置:

音轨回声消除降噪自动增益理由
系统声音录的是音乐和视频原声,任何处理都是损伤
麦克风录的是讲解人声,这三项都是净收益

这解释了一个反直觉的现象:用虚拟声卡把系统输出接到「麦克风」端去录音乐,效果会明显不如直接录标签页音频——因为它走的是语音优化那条路。有得选的时候,永远优先标签页音频。

两路同开时的回声

两路都开启时,工具用 AudioContext 把它们混成一条音轨再送编码器,这样输出的视频只有一条音轨,任何播放器都能正常播。

混音节点只连编码器,刻意不连扬声器。这一步很关键:如果把采集到的系统声音再接回扬声器,就等于把声音放了第二遍,而这第二遍又会被采集进来,形成越来越响的正反馈。

但还有一份回声是工具消不掉的:你的麦克风会把扬声器放出来的系统声音再录一遍。麦克风路开启的回声消除能消掉一部分,音量大、房间反射强、用外接音箱时都会漏。录带旁白的演示时戴耳机,物理上断开这条通路,比任何算法都可靠。

顺带一提,如果混音因为某些环境原因失败了,工具会退化为只保留系统声音而不是整次录制失败——所以「录出来只有画面里的声音、没有我的旁白」偶尔也可能是这个原因,不只是麦克风授权问题。

一张排查顺序表

按这个顺序走,基本不会漏:

  1. 用的是 Chrome / Edge 吗?不是 → 换浏览器(只要旁白的可以不换)
  2. 声音在网页里吗?是 → 共享范围选「标签页」;不是且你在 Mac → 只能上虚拟声卡或系统录屏
  3. 共享面板里勾了音频吗?→ 重来一次,看清左下角
  4. 录制条上的提示写了什么?→ 有警告就按警告处理
  5. 播放源本身在出声吗?→ 标签页小喇叭、系统音量、输出设备三处都看一眼
  6. 有回声?→ 戴耳机

顺手要知道的两件事

工具在请求屏幕共享时排除了自己所在的页面,所以录「整个浏览器」时不会出现无限镜像套娃;同时允许了 Chrome 的**「切换共享」**按钮,录制途中可以换共享源而不必停下重来——演示需要跨软件时很有用。

录完的后续处理:文件太大可以接着用视频压缩降一档,参数怎么选见视频压缩三杠杆;只需要画面不要声音的,用视频提取音频反向操作也可以,机制见容器与编码的差异;要做成文档里的动图,直接转 GIF 制作,帧率和调色板的取舍见视频转 GIF 不糊不卡

准备好参数就可以开始了:屏幕录制全程在本地编码,画面和声音都不上传。录之前顺手确认一下屏幕上没有密码、私信和客户资料——这一条比任何音频设置都重要。

❓ 常见问题

Firefox 和 Safari 为什么录不到系统声音?

因为它们的屏幕共享接口没有实现音频采集,不是工具的取舍现状:(1) Chrome / Edge 等 Chromium 浏览器在共享面板里提供音频勾选项,能拿到标签页音频,Windows 上还能拿到整机音频;(2) Firefox 的 getDisplayMedia 只返回视频轨,请求音频会被忽略;(3) Safari 更彻底,请求音频时直接抛异常。工具的处理:检测到抛异常会自动去掉音频重试一次,并在录制条上提示「当前浏览器不支持采集系统声音,已改为仅录画面」——所以录制不会失败,只是变成默片。结论:要录系统声音(视频、音乐、会议里对方的话),必须换 Chrome 或 Edge;只录自己讲解的旁白,任意浏览器都可以,麦克风那条路是全都支持的。

我在 Mac 上用 Chrome,选了「整个屏幕」却没有系统声音?

这是 macOS 层面的限制,换浏览器版本也解决不了原因:采集整机输出需要操作系统提供「回环」(loopback)通道,Windows 有 WASAPI loopback,Chrome 因此能在面板里给出「分享系统音频」;macOS 没有公开的回环接口,所以 Mac 上的 Chrome 只有标签页模式能带音频(那是浏览器自己的音频管道,不经过系统)。三条出路:(1) 声音源就在浏览器里(网页视频、在线会议、网课)→ 共享范围选「Chrome 标签页」并勾上「同时分享标签页音频」,这是最省事的一条;(2) 声音来自浏览器之外的 App(本地播放器、桌面版会议软件)→ 装一个虚拟音频设备(BlackHole、Loopback 之类)把系统输出转成一个可录的输入设备,再走麦克风那条路录进来;(3) 干脆用 macOS 自带的 QuickTime 或截图工具栏录屏。注意:走方案 2 时麦克风路默认开了降噪和自动增益,录音乐会闷,见下一条。

录进去的音乐和视频声音发闷、高频被削掉了,怎么回事?

是语音优化的音频处理在起作用,看你录的是哪一路背景:浏览器的音频采集有三个默认开启的处理开关——回声消除(echoCancellation)、降噪(noiseSuppression)、自动增益(autoGainControl)。它们是为通话人声调的:降噪会把稳定的宽频成分(音乐的持续音、环境底噪)当噪声压掉,自动增益会把动态范围压平。本工具的取舍:(1) 系统声音那一路三个开关全部关闭,所以从标签页录进来的音乐、视频原声是干净的;(2) 麦克风那一路三个全部开启,因为它录的是你的讲解,降噪和回声消除在这里是净收益。所以:如果你用虚拟声卡把系统输出接到「麦克风」端录音乐,就会撞上这套语音处理,声音发闷是正常的——这种场景应该改用标签页音频,或者干脆用专门的录音软件。

两路都开,录出来有回声或者自己的声音有两遍?

扬声器外放导致的二次拾音,戴耳机就没有了机制:系统声音走的是内部管道,不经过空气;但你的麦克风会把扬声器放出来的系统声音再录一遍,两份内容有几十毫秒时差,混在一起就是回声。工具做了什么:(1) 混音时只把两路接到编码器,不接扬声器——否则系统声音会从你的音箱里二次播放,形成越来越响的正反馈;(2) 麦克风路开启了回声消除,能消掉一部分。但回声消除不是万能的,音量大、房间反射强、用外接音箱时都会漏。最稳的做法:录带旁白的演示时戴耳机,物理上断开扬声器到麦克风的通路。只录旁白、不需要画面内声音的,直接把「系统声音」关掉。

工具提示「麦克风未授权或被占用」,可是我明明允许过?

先分清是权限、设备还是占用三类问题权限:(1) 点浏览器地址栏左侧的图标查看本站的麦克风权限,被「拒绝」过一次后浏览器不会再弹窗,只会静默失败;(2) macOS 还有一层系统权限——系统设置 → 隐私与安全性 → 麦克风,要确认浏览器本身被勾上了。设备:默认输入设备可能指向了一个已断开的蓝牙耳机或虚拟声卡,看起来授权成功但拿不到有效音轨。占用:Windows 上部分老驱动是独占模式,会议软件、语音软件正在通话时会把麦克风锁住。工具的行为:麦克风失败不会中断录制,只降级为无麦并在录制条上写明——所以看到这行提示就该当场停下来处理,而不是录完才发现没旁白。

能不能录制过程中听见系统声音,同时又不产生回声?

能,而且是默认状态——你的扬声器本来就在正常出声容易混淆的一点:采集系统声音不等于把声音「拿走」,视频该放还是放,你听到的是应用自己的输出。工具在混音时刻意不把采集到的流再接回扬声器,就是为了不制造第二份播放。所以正常情况是:你照常听见画面里的声音,录进去的也是它,两者互不干扰。如果你听不到声音,那是应用或系统本身被静音了(标签页小喇叭、系统音量、输出设备选错),这种情况录出来同样是静音——采集端拿到的是应用的输出,输出被掐掉了采集也就没了内容。开录前的一秒钟检查:先在共享的那个标签页里放两秒声音,确认自己听得见,再点开始。

⏺️ 打开 屏幕录制 录屏幕/窗口/标签页·系统声音+麦克风·暂停续录·去头去尾·输出 MP4·本地不上传

📖 同一工具的其他教程

🔗 相关阅读

全部教程 →