美文网首页iOS 开发iOS语音、视频处理ios 学习
【iOS 开发】一个音频格式转换库 GZZAudioConver

【iOS 开发】一个音频格式转换库 GZZAudioConver

作者: 爱吃鸭梨的猫 | 来源:发表于2018-05-28 09:46 被阅读19次
    image

    大多数代码源自于 ExtAudioFileConverter,因为网上关于音频格式转换的太少了,而且还特别麻烦,故封装为 Cocoapods 库,方便使用,转换 MP3 格式需要用到 lame 静态库,使用 pod 之后不需要单独集成 lame 静态库,直接 pod install 即可使用,这是库的地址:GZZAudioConverter


    Installation

    仅支持 CocoaPods,将如下代码加入 Podfile 文件中。

    pod 'GZZAudioConverter'
    

    Useage

    // 例如:转换为 MP3
    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;
    

    将来的你,一定会感激现在拼命的自己,愿自己与读者的开发之路无限美好。

    我的传送门: 博客简书微博GitHub

    相关文章

      网友评论

        本文标题:【iOS 开发】一个音频格式转换库 GZZAudioConver

        本文链接:https://www.haomeiwen.com/subject/ioywjftx.html