我正在开发一个应用程序,它可以捕获录音并将其转换为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);