Objective c xcode,目标c,将音频(.WAV,PCM编码)文件的内容读取到c整数数组中
我正在开发一个应用程序,捕获音频录制并将其转换为Objective c xcode,目标c,将音频(.WAV,PCM编码)文件的内容读取到c整数数组中,objective-c,xcode,arrays,wav,lame,Objective C,Xcode,Arrays,Wav,Lame,我正在开发一个应用程序,捕获音频录制并将其转换为mp3 我正在使用C中的LAME开源库将其转换为mp3。它有一个函数,要求将整个整数流表示为整数数组的PCM编码的.wav文件 这是我在iphone开发上的第一个项目,我不知道如何将wav文件(应该是整数流)的内容读入C样式的数组中 请帮忙 Neerav在Objective C中,您可以通过以下方式轻松地将文件读入NSData对象: NSData *data = [NSData datawithContentsOFFile:filename];
mp3
我正在使用C
中的LAME开源库将其转换为mp3
。它有一个函数,要求将整个整数流表示为整数数组的PCM编码的.wav文件
这是我在iphone开发上的第一个项目,我不知道如何将wav文件(应该是整数流)的内容读入C样式的数组中
请帮忙
Neerav在Objective C中,您可以通过以下方式轻松地将文件读入NSData
对象:
NSData *data = [NSData datawithContentsOFFile:filename];
NSUInteger length = [data length];
int *cdata = (int*)malloc(length);
[data getBytes:(void*)cdata length:length];
然后,您可以获取该对象中的字节数,并分配一个大小匹配的C样式整数数组,如下所示:
NSData *data = [NSData datawithContentsOFFile:filename];
NSUInteger length = [data length];
int *cdata = (int*)malloc(length);
[data getBytes:(void*)cdata length:length];
并将NSData
对象中的字节复制到C数组中,如下所示:
NSData *data = [NSData datawithContentsOFFile:filename];
NSUInteger length = [data length];
int *cdata = (int*)malloc(length);
[data getBytes:(void*)cdata length:length];
使用完C数组后,别忘了释放它的内存
free(cdata);
我不得不在同一天离开这个项目,所以再也没有回到这个问题上来。对不起,我不得不在同一天离开这个项目,所以再也没有回到这个问题上来。很抱歉我肯定会记住这一点。这对我不起作用:它读“52494646285F0100 57415645”,来自“5249464624B00000 57415645”。为什么它会合并每个2x4位数据?