objective-c - 用于在 Cocoa 中从 Mac 捕获音频并保存到文件的代码示例?

标签 objective-c macos cocoa audio

我要开发一个小型应用程序,该应用程序从 Mac 的音频队列捕获音频,并需要以某种合理的音频格式将其保存到磁盘。

有人可以分享一些不错的示例代码(Cocoa/Objective-C)吗?

我特别需要捕获传递到内置输出设备的音频以便录制它。有什么见解吗?到目前为止的答案很有帮助,但并没有帮助我理解如何捕获进入输出的数据,而与输入源无关。

最佳答案

在 Mac OS X 中处理音频涉及到与 Core Audio 的交互。如需快速概览,请查看 Core Audio Overview .

您将需要与AUHAL接口(interface)来执行输入和输出;一个technical note存在详细说明执行此操作所需的步骤。这段代码似乎通常是用 C++ 编写的,因为这是 SimplePlayThru demo 中采用的过程。 .

这不包括捕获音频输入所需的实际步骤。但是,这些链接应该为您提供足够的示例代码来开始与您的输入设备进行交互。如果我遇到这些链接,我会在此答案中发布更多链接。

<小时/>

查看/Developer/Example/CoreAudio/Services/AudioFileTools。具体请查看afrecord.cpp。诚然,这不是 Cocoa 本身;它是 Cocoa 的一部分。 Cocoa 本身似乎没有任何特定的录音功能。如果您想与那里的 C++ 文件交互,您可能需要编写一些 Objective C++,如 SimplePlayThru 中的内容。

关于objective-c - 用于在 Cocoa 中从 Mac 捕获音频并保存到文件的代码示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14922976/

相关文章:

iphone - 使用 AsiHTTPRequest 的方法的返回值

macos - CGImageRef 宽度与每行字节数不一致

ios - GKMatchmakerViewController - 如何检测按下 "Play Now"

ios - 在 App Delegate 中设置第一个 View Controller

swift - 苹果系统。用管理员权限替换共享文件夹中的应用程序

c++ - 在 mac osx 中反汇编 g++ 创建的可执行文件

Go 语言的 Cocoa 绑定(bind)

objective-c - 在 Objective-C 中调用 Swift 闭包

ios - 为什么 Interface Builder 不能为约束设置负倍数,即使 [NSLayoutConstraint constraintWithItem :] can?

linux - 使用 -c 和 awk 的管道字符串调用 bash 命令