录制没有内核扩展的系统音频

c-h*_*had 8 macos cocoa core-audio avfoundation

有没有办法在OS X中不使用内核扩展来录制系统音频.通过系统音频,我的意思是通过扬声器播放的内容.

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

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

提前致谢.

小智 2

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

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

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

/Library/Audio/Plug-Ins/HAL/BlackHole.driver
Run Code Online (Sandbox Code Playgroud)

https://existential.audio/blackhole/

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

https://github.com/ExistentialAudio/BlackHole

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

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

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