如何使用 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 连接的多轨混音器获取输入