在没有内核扩展的情况下录制系统音频

Posted

技术标签:

【中文标题】在没有内核扩展的情况下录制系统音频【英文标题】:Record system audio without a kernel extension 【发布时间】:2014-08-05 18:48:44 【问题描述】:

有没有办法在不使用 OS X 中的内核扩展的情况下录制系统音频。系统音频是指通过扬声器播放的内容。

环顾四周,我发现有人建议做一些类似于 Soundflower 的事情,它使用内核扩展来创建假音频设备。但是,我真的不想那样做,我不相信我必须这样做。一些屏幕录制应用程序似乎在没有内核扩展(例如 Screenium)的情况下录制系统音频,它们是通过 Mac App Store 分发的,这让我相信有一种方法可以在不违反 App Store 规则的情况下做到这一点。

我查看了 Core Audio 和 AVFoundation 文档,但似乎找不到获取系统音频的方法。

提前致谢。

【问题讨论】:

你找到解决方案了吗? 找到解决方案了吗? 【参考方案1】:

我推荐 BlackHole 虚拟音频驱动程序。

    在 Audio MIDI Setup 应用中创建一个多输出(虚拟)设备(首先是内置输出,然后添加 BlackHole 输出) 选择多输出设备作为系统和/或任何应用程序的音频输出 记录或监控 BlackHole 输入,这是系统和/或任何应用程序重新路由的音频输出

BlackHole 虚拟音频驱动程序安装在:

/Library/Audio/Plug-Ins/HAL/BlackHole.driver

https://existential.audio/blackhole/

https://existential.audio/blackhole/support/

https://github.com/ExistentialAudio/BlackHole

我认为 Apple 没有提供任何方便的方式(官方 API)来设计录制/监控音频输出,以防止用户轻松录制任何受版权保护的音乐或音频。也是出于隐私原因。

看起来 Screenium 使用基于 Soundflower 的虚拟音频驱动程序来重新路由音频输出以进行录制。

https://www.syniumsoftware.com/support-article/synium-audio-driver-en

【讨论】:

以上是关于在没有内核扩展的情况下录制系统音频的主要内容,如果未能解决你的问题,请参考以下文章

我可以在未经用户许可的情况下录制浏览器屏幕吗?

有没有办法在不使用 AVFoundation 框架的情况下在 iOS 中录制音频?

Android 录制没有音频的视频

在不录制的情况下监控 iPhone 上的音频输入?

Android 检测 AudioRecord/在不阻塞其他应用程序的情况下录制音频的方式

如何在 Chrome 扩展程序中录制音频?