我正在开发一个应用程序,它可以捕获录音并将其转换为mp3.
我正在使用LAME 开源库转换C为mp3. 它有一个函数,需要将PCM 编码的.wav 文件表示为 .wav 文件的整个整数流integer array。
这是我在 iphone 开发方面的第一个项目,我无法弄清楚如何将wav文件的内容(应该只是stream of integers)读入C style array?
请帮忙。
尼拉夫
我正在开发一个应用程序,它可以捕获录音并将其转换为mp3.
我正在使用LAME 开源库转换C为mp3. 它有一个函数,需要将PCM 编码的.wav 文件表示为 .wav 文件的整个整数流integer array。
这是我在 iphone 开发方面的第一个项目,我无法弄清楚如何将wav文件的内容(应该只是stream of integers)读入C style array?
请帮忙。
尼拉夫
在 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);