Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
iOS如何将.aac音频文件转换为二进制数据?_Ios_Objective C_Binary_Nsdata_Aac - Fatal编程技术网

iOS如何将.aac音频文件转换为二进制数据?

iOS如何将.aac音频文件转换为二进制数据?,ios,objective-c,binary,nsdata,aac,Ios,Objective C,Binary,Nsdata,Aac,感谢您的帮助,我的问题是:我需要将aac音频文件转换为字节数据,然后我可以使用tcp将此数据传输到服务器。但我无法将aac转换为字节。我使用: NSString *docDir = NSTemporaryDirectory(); NSString* _tempRecorderPath; _tempRecorderPath = [docDir stringByAppendingPathComponent:@"ringtones_tmp.aac"]; NSData *testringdata=[NS

感谢您的帮助,我的问题是:我需要将aac音频文件转换为字节数据,然后我可以使用tcp将此数据传输到服务器。但我无法将aac转换为字节。我使用:

NSString *docDir = NSTemporaryDirectory();
NSString* _tempRecorderPath;
_tempRecorderPath = [docDir stringByAppendingPathComponent:@"ringtones_tmp.aac"];
NSData *testringdata=[NSData dataWithContentsOfFile:_tempRecorderPath];
Byte *nbyteData=(Byte*)[ringData bytes];
但结果是nbyteData中只有“\xff”! 我不知道为什么?以及如何修复它

试试这个:-

NSData *data = [NSData dataWithContentsOfFile:filePath];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
这段代码将动态地将数组分配到正确的大小(完成后必须释放(byteData))并将字节复制到其中。

看看这个。这个链接准确地解释了你想要什么

NSData *data = [NSData dataWithContentsOfFile:filePath];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);

但实际上,[data bytes]始终等于\xff,因此无法修复此问题