【问题标题】:HAL - how to monitor audio output on a macHAL - 如何在 Mac 上监控音频输出
【发布时间】:2009-07-15 18:36:34
【问题描述】:


http://www.ambrosiasw.com/utilities/wiretap/

有一个名为窃听的应用程序

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

这有助于得到答案吗?我输入了命令行:ioreg -w0 -l | grep io |更多
这就是我在窃听器中发现的……在我找到它的位置附近可能有更多相关信息:
+-o com_AmbrosiaSW_AudioSupport
"CFBundleIdentifier" = "com.AmbrosiaSW.AudioSupport"
"IOMatchCategory" = "com_AmbrosiaSW_AudioSupport"
“版本” = 2
"IOClass" = "com_AmbrosiaSW_AudioSupport"
yan-bellavances-mac-mini:~ ybellavance$ ioreg -w0 -l | grep io |更多

【问题讨论】:

    标签: cocoa macos core-audio hal


    【解决方案1】:

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

    这是我在 core-audio 邮件列表中从 Jeff Moore 那里得到的答案:

    “没有 API 可以做到这一点,只有各种 hacks/work-arounds 人们想出了。最直接的方法是 写一个假驱动来做你想做的事。 Soundflower 和 JACK 将是 这种方法的好例子。 Soundflower 使用内核驱动程序,而 JACK 使用用户级驱动程序。

    人们很聪明,也想出了其他方法来做到这一点。 但如果他们愿意分享,我会让他们自己说话 他们的技术。无论如何,你可能想开始你的教育 通过阅读列表档案,因为这个话题出现在 定期。”

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 是的,我研究了soundflower,但这需要创建一个新的声音引擎,这不是wire tap 所做的。最后这就是我要做的,但我想要新的做事方式。实际上,您只需查找 MAc os X 的源代码,即可获得创建 audioEngine 的代码和 Xcode 示例。
      猜你喜欢
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多