在Cocoa中复制/粘贴音频样本

时间:2013-06-02 15:39:27

标签: cocoa nssound

我正在使用Mac OS X的Cocoa框架创建一个小的音频编辑器。我通过将选定的样本写入临时WAV文件来实现“复制”,然后使用NSSound加载URL然后将数据推送到粘贴板(writeToPasteboard:)。

现在我正在进行粘贴。我从粘贴板创建了一个NSSound,现在卡住了。如何访问样本?

1 个答案:

答案 0 :(得分:0)

你没有。 NSSound不允许您访问原始样本数据。

您需要使用Audio Toolbox框架。它提供了两个用于在文件中读取和写入音频的API:Audio File Services是两者中的较低级别,而Extended Audio File Services支持压缩和其他功能。

您可能希望在音频文件服务中使用基于回调的API,因为这可以使您不必使用临时文件。相反,您将NSMutableData对象设置为音频文件的“客户端数据”,然后通过将字节复制到该数据的相关范围(如果需要首先设置其长度)并通过复制“读取”来实现“写入”一些范围的数据。