我正在开发一个捕获录音的应用,并将其转换为mp3
。
我正在使用C
中的 LAME开源库转换为mp3
。它有一个函数,它需要整个整数流表示 PCM编码 .wav文件为integer array
。
这是我有关iphone开发的第一个项目,我无法弄清楚如何阅读 wav 文件的内容(除了stream of integers
之外什么都不应该进入C style array
?
请帮忙。
Neerav
答案 0 :(得分: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);