iOS如何将.aac音频文件转换为二进制数据?
感谢您的帮助,我的问题是:我需要将aac音频文件转换为字节数据,然后我可以使用tcp将此数据传输到服务器。但我无法将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
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,因此无法修复此问题