大多数代码源自于 ExtAudioFileConverter,因为网上关于音频格式转换的太少了,而且还特别麻烦,故封装为 Cocoapods 库,方便使用,转换 MP3 格式需要用到 lame 静态库,使用 pod 之后不需要单独集成 lame 静态库,直接 pod install 即可使用,这是库的地址:GZZAudioConverter 。
Installation
 仅支持 CocoaPods,将如下代码加入 Podfile 文件中。
Useage
| dispatch_async(dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL), ^ {
 GZZAudioConverter *converter = [[GZZAudioConverter alloc] init];
 converter.inputFile = @"/var/mobile/Containers/Data/Application/xxx/Documents/xxx.wav";
 converter.outputFile = @"/var/mobile/Containers/Data/Application/xxx/Documents/xxx.mp3";
 converter.outputFileType = kAudioFileMP3Type;
 converter.outputFormatID = kAudioFormatMPEGLayer3;
 BOOL success = [converter convert];
 dispatch_async(dispatch_get_main_queue(), ^ {
 if (success) {
 NSLog(@"转换成功");
 } else {
 NSLog(@"转换失败");
 }
 });
 });
 
 | 
Methods
注意:文件格式和数据格式要根据你要转换的音频格式来设置,不同文件格式对应的数据格式是不同的,这是关于文件格式和数据格式的 说明文档 。
| converter.outputSampleRate = 44100;
 
 
 converter.outputNumberChannels = 2;
 
 
 converter.outputBitDepth = BitDepth_16;
 
 
 converter.outputFileType = kAudioFileWAVEType;
 
 
 converter.outputFormatID = kAudioFormatLinearPCM;
 
 |