news 2026/9/10 5:29:57

为什么 macOS 12 及以下系统里 OpenScreen 无法录制系统音频?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么 macOS 12 及以下系统里 OpenScreen 无法录制系统音频?

为什么 macOS 12 及以下系统里 OpenScreen 无法录制系统音频?

【免费下载链接】openscreenCreate stunning demos for free. Open-source, no subscriptions, no watermarks, and free for commercial use. An alternative to Screen Studio.项目地址: https://gitcode.com/GitHub_Trending/open/openscreen

如果你在 macOS 12(Monterey)或更老的系统上运行 OpenScreen,勾选了系统音频录制,但导出的视频里没有电脑内部的声音,这不是权限没给对、也不是某个设置被漏掉了——按项目文档的说明,macOS 系统音频录制依赖 ScreenCaptureKit 原生管线,而这条管线的可用门槛是 macOS 13(Ventura)及以上,macOS 12 及以下系统无法捕获系统音频(麦克风录制不受影响)。下面这条排查路径可以确认你遇到的是不是同一个问题边界,以及升级之后该授予哪些权限、如何验证音频确实被录进去了。

先确认问题边界:查你的 macOS 版本

打开「关于本机」确认系统版本。README.md 在 Platform differences 一节对 macOS 系统音频的原文说明是:

  • macOS 需要macOS 13+才能捕获系统音频;
  • macOS 14.2+会弹出音频捕获权限提示,需要授予;
  • macOS 12 及以下无法捕获系统音频(麦克风仍然可用)

如果你的系统正是 macOS 12 或更低,而屏幕/窗口画面录制、麦克风录制都正常,只是成片里没有系统声音,就可以判定你撞到了这条版本边界,而不是 OpenScreen 的 bug。这个限制不是应用层配置能绕过的:macOS 的原生录制管线整体建立在 ScreenCaptureKit 之上,系统音频也走同一条管线,旧系统上没有这个 API。

从仓库文档和源码确认门槛的来源

如果你想在项目内核对这条限制的出处,有两处可以直接看:

  1. 测试文档 docs/testing/macos-native-cursor.md 在 “Native macOS capture backend” 一节列出了原生 macOS 捕获后端的三项可用规则,第一条就是macOS 13 (Ventura) or newer,其余两项是 helper 二进制存在、Screen Recording 权限已授予。

  2. ScreenCaptureKit helper 的 Swift 源码 electron/native/screencapturekit/Sources/OpenScreenScreenCaptureKitHelper/main.swift 中,能力检查返回的错误信息是:

ScreenCaptureKit recording requires macOS 13 or newer.

也就是说,工程上对系统版本的判定是硬性门槛,而不是建议值。docs/engineering/macos-native-recorder-roadmap.md 的 System Audio 阶段验收标准同样写着 “Unsupported macOS versions return an explicit capability error”——不支持的 macOS 版本会返回明确的能力错误,而不是静默回退。

解决路径:升级到 macOS 13 及以上,并授予相应权限

文档给出的唯一解决办法是把系统升到 macOS 13 或更高,然后在系统设置里把相关权限补齐。依据 README.md 和 docs/testing/macos-native-cursor.md 的权限说明:

  1. Screen & System Audio Recording(屏幕与系统音频录制):在 System Settings → Privacy & Security → Screen & System Audio Recording 中为 Electron/OpenScreen 打开开关。测试文档明确说明 Screen Recording 权限是录制的必要条件,“Without it the recording never starts”。注意 macOS 14.2+ 会单独弹出音频捕获权限提示,README 要求在此授予。
  2. Accessibility(辅助功能):System Settings → Privacy & Security → Accessibility 中授予。按测试文档的说法,这项只影响光标类型检测(text/pointer形状替换),与系统音频无关,排音频问题时不用优先怀疑它。
  3. 测试文档还提醒:在系统设置中授予任一权限后,要完全退出并重启应用再录——权限状态按进程缓存,不重启不会生效。

另外,README 提到从旧版本升级安装时如果权限反复失败(Screen Recording 或 Accessibility 反复申请不成功),处理方式是:卸载旧版本,在 System Settings → Privacy & Security 里删掉 OpenScreen 已有的 Screen Recording 和 Accessibility 条目,全新安装后重新授权。这条路径针对的是升级安装后的权限残留问题,与本文的主线(系统版本门槛)是两回事,只有你在 macOS 13+ 上升级安装后仍无法录制时才需要。

升级后如何验证系统音频确实生效

  • 主验证:重新录一段包含系统内放声音(比如播放音乐)的片段,导出 MP4 后播放,确认系统声音在成片里。Roadmap 文档中 System Audio 阶段的验收标准是 “System-audio-only recordings produce a valid AAC track”,即只开系统音频的录制应产出有效的 AAC 音轨。
  • 可选的命令行冒烟测试(面向 macOS 13+ 的开发环境):docs/engineering/macos-native-recorder-roadmap.md 的 Test Pipeline 一节定义了npm run test:sck-audio:mac,用于在系统支持时做系统音频冒烟测试;跑 helper 前需要先用npm run build:native:mac构建 Swift helper(该命令在非 macOS 主机上会直接成功退出,不影响开发)。

限制说明

  • macOS 12 及以下系统没有任何文档给出的替代捕获路径可以拿到系统音频,麦克风仍正常可用,屏幕/窗口画面录制可用;
  • Intel(x86_64)Mac 上,分发的 helper 只构建了darwin-arm64版本,需要在目标机器上用npm run build:native:mac从源码构建,见 docs/testing/macos-native-cursor.md 的 Known limitations;
  • 系统音频在原生管线中的具体实现(把 ScreenCaptureKit 系统音频写入主 MP4)见 electron/native/README.md,其中也提到原生麦克风捕获在“运行中的 macOS 版本暴露该能力时”才会尝试——音频能力统一由运行时版本门控。

【免费下载链接】openscreenCreate stunning demos for free. Open-source, no subscriptions, no watermarks, and free for commercial use. An alternative to Screen Studio.项目地址: https://gitcode.com/GitHub_Trending/open/openscreen

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 5:24:45

免费物联网组态平台选型指南:ThingsBoard与FUXA实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 5:20:56

STM32+ESP8266基于MQTT接入阿里云IoT平台实战指南

简介:本资源是一套完整的物联网项目实战代码,面向嵌入式初学者与STM32开发者,聚焦于STM32F103C8T6通过ESP8266模组接入阿里云IoT Studio(飞燕平台)的端到云通信全流程实现。涵盖设备主动上报传感器数据、接收云端指令并…

作者头像 李华
网站建设 2026/9/10 5:20:01

AU-48双麦语音模组:小体积高集成语音前处理方案

1. 为什么说AU-48是小体积里的音频“全能战士”?AU-48双麦多功能语音处理模组,这个名字乍一听像某个工业级芯片的型号编号,但实际拆开来看——“AU”是Audio的缩写,“48”不是指48个通道,而是指其核心DSP内核运行频率为…

作者头像 李华