如何使用 Mac OS X 的音频 API 函数?

Posted

技术标签:

【中文标题】如何使用 Mac OS X 的音频 API 函数?【英文标题】:How to use Mac OS X audio API functions? 【发布时间】:2013-07-13 12:22:53 【问题描述】:

在阅读有关 Mac OS X 音频 API 时,他们似乎列出了很多功能,但没有(我可以找到)如何使用它们。

例如,他们列出了一个子类IOAudioLevelControl。我应该用它创建一个对象,并假设它控制音频电平吗?如果是这样,我应该假设什么?它有一个设置音频级别的构造函数,所以我应该声明它们IOAudioLevelControl levelControl(5);

我在这里很困惑。

编辑:我的目标是制作一个程序来检测所有正在运行的程序的音频级别(例如当您从 Youtube 播放音乐时的 Chrome 等),并在超过用户设置的某个级别时降低级别。

【问题讨论】:

【参考方案1】:

IOKit 方式太低了 - 它是系统上设备驱动程序的用户空间代理。 MacOSX 提供了几个层来解决这个问题。最有可能的是,您无需 root 即可直接使用这些 API。

Core Audio 提供堆栈中的下一层。此页面上的The diagram 显示了架构。

设置 CoreAudio 是更高级别的 API,例如 Audio Units 和 AVFoundation。这很可能是你想要的。

【讨论】:

非常感谢,但我将如何使用 Core Audio?只是根据他们的名字使用函数,希望结果没问题,还是对每个函数都有更好的解释? 也许您可以编辑问题来描述您想要实现的目标?

以上是关于如何使用 Mac OS X 的音频 API 函数?的主要内容,如果未能解决你的问题,请参考以下文章

Rogue Amoeba 发布用于 Mac OS X 的音频路由应用 Loopback

如何在 mac os x 上从通过 USB 连接的多轨混音器获取输入

在录制 mac os x sdk 期间检测静音

Mac OS X 虚拟音频驱动程序

如何检测 NaN 在哪里传递给 Mac OS X 10.9 上的 CoreGraphics API

如何在 Mac OS X 上创建虚拟文件?