在mac上捕获声音输出
我试图将我的屏幕保护程序从windows移植到mac,并且它的一个功能是响应系统声音输出。在Windows上使用Direct Sound很容易,但是我找不到在mac上捕获声音输出的任何示例。如果不写内核扩展之类的东西,甚至有可能吗?使用闪光灯也非常简单 - 它甚至可以提供computeSpectrum
方法来获取原始数据或甚至fft转换的数据。在mac上捕获声音输出
我已经找到的所有程序都使用Soundflower或它们自己的内核扩展。但我不认为要求安装单独的程序或使用内核扩展是一个好方法。
考虑到Soundflower是开源的,你可以做的一件事就是看看他们是如何做到的。您不能复制&粘贴GPL代码,但您肯定可以研究所使用的技术并创建您自己的解决方案(指向正确的方向)。
你不会在这里找到Apple很有帮助。以这种方式,声音捕捉可以用于各种恶意目的。我甚至不确定Core Audio是否可以在没有黑客的情况下执行此操作。无论如何,你有一个你正在努力完成的工作实现。我会利用它。
我现在不在我的Mac上,但我很肯定Quartz Composer只是为这个东西提供了一个补丁。根据您使用何种语言编写屏幕保护程序,将代码移植到QC patch中可能相当容易。那么......它可能并不容易,但它可能是可行的。
我认为你可以用代码中的QC补丁做任何事情,对吗? – 2010-02-02 22:04:11
在Quartz Composer中,我发现只能处理输入声音而不输出。另外我的屏幕保护程序不是很轻,所以我更喜欢使用OpenGL的Objective-C++。 – tig 2010-02-02 22:40:28
你知道任何地方使用Soundflower查看代码吗? – tig 2010-02-07 17:36:23
我不推荐使用它。我建议对其进行逆向工程。你寻找的例子是Soundflower本身的源代码。顺便说一句,安装内核扩展是透明的,如果你打包正确。 – pestilence669 2010-02-08 04:41:47
我不喜欢它需要管理员权限才能安装。但我认为你是对的。 – tig 2010-02-09 17:16:25