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

时间:2014-07-18 06:02:24

标签: ios objective-c binary nsdata aac

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

NSString *docDir = NSTemporaryDirectory();
NSString* _tempRecorderPath;
_tempRecorderPath = [docDir stringByAppendingPathComponent:@"ringtones_tmp.aac"];
NSData *testringdata=[NSData dataWithContentsOfFile:_tempRecorderPath];
Byte *nbyteData=(Byte*)[ringData bytes];

但结果是只有' \ xff'在nbyteData中! 我不知道为什么 ?以及如何解决它!!

2 个答案:

答案 0 :(得分:0)

试试这个: -

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

此代码将动态地将数组分配到正确的大小(当您完成时必须释放(byteData))并将字节复制到其中。

答案 1 :(得分:0)

看看这个link。此链接准确说明了您的需求

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