1

我正在开发一个应用程序,它可以捕获录音并将其转换为mp3.

我正在使用LAME 开源库转换Cmp3. 它有一个函数,需要将PCM 编码的.wav 文件表示为 .wav 文件的整个整数流integer array

这是我在 iphone 开发方面的第一个项目,我无法弄清楚如何将wav文件的内容(应该只是stream of integers)读入C style array?

请帮忙。

尼拉夫

4

1 回答 1

2

在 Objective C 中,您可以轻松地从文件中读取到NSData对象中,如下所示:

NSData *data = [NSData datawithContentsOFFile:filename];

然后,您可以获取该对象中的字节数并分配一个匹配大小的 C 样式整数数组,如下所示:

NSUInteger length = [data length];
int *cdata = (int*)malloc(length);

并将NSData对象中的字节复制到 C 数组中,如下所示:

[data getBytes:(void*)cdata length:length];

完成后不要忘记释放 C 数组中的内存。

free(cdata);
于 2013-05-28T09:56:34.207 回答