Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c xcode,目标c,将音频(.WAV,PCM编码)文件的内容读取到c整数数组中_Objective C_Xcode_Arrays_Wav_Lame - Fatal编程技术网

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位数据?