HAL - 如何监控mac上的音频输出

时间:2009-07-15 18:36:34

标签: cocoa macos core-audio hal

有一个名为wiretap的应用程序可用于 http://www.ambrosiasw.com/utilities/wiretap/

此应用程序可以录制系统音频。我希望能够在我的计划中做同样的事情。关于我需要做什么的任何见解?我熟悉Core Audio,但还没有找到关于如何做到这一点的任何内容。

这有助于得到答案吗?我进入了命令行:ioreg -w0 -l | grep io |更多
这就是我发现的大量窃听......可能有更多相关信息接近我找到的地方:
+ -o com_AmbrosiaSW_AudioSupport< class com_AmbrosiaSW_AudioSupport,registered,matched,active,busy 0,retain 4>

“CFBundleIdentifier”=“com.AmbrosiaSW.AudioSupport”
“IOMatchCategory”=“com_AmbrosiaSW_AudioSupport”
“版本”= 2
“IOClass”=“com_AmbrosiaSW_AudioSupport”
yan-bellavances-mac-mini:~ybellavance $ ioreg -w0 -l | grep io |更多

2 个答案:

答案 0 :(得分:1)

简短的回答是否定的,除非你有联系和/或真正有经验/有才华(我是mac dev的新手)。猜猜我将在Darwin开源部分使用audioEngine示例。

以下是我在核心音频邮件列表中从Jeff Moore那里得到的答案:

“没有用于执行此操作的API,只有各种黑客/解决方法 人们想出了。最直接的方式是 写一个假的驱动程序来做你想要的。 Soundflower和JACK会是 这种方法的好例子。 Soundflower使用内核驱动程序 JACK使用用户陆地驱动程序。

人们很聪明,并且已经提出了其他方法来做到这一点。 但如果他们倾向于分享,我会让他们说话 他们的技术。无论如何,你可能想要开始你的教育 通过阅读列表存档,在此主题出现时 定期。“

答案 1 :(得分:0)

另一个类似的开源工具是SoundFlower。此工具通过注册为音频输出设备来工作。它不仅仅是一个物理设备,它只是一个虚拟输出设备,可以转发到其他设备,也可以转发回输入。

这是录制系统音频输出的一种策略 - 显示为音频输出设备,并让系统通过此虚拟设备播放。除了录制音频外,您还可以将其转发到扬声器以显示透明。如果您对追求这条路线感兴趣,可以使用SoundFlower作为示例。