安卓与iOS录音转码,amr与wav音频格式转码

说明:1,服务器一般都用amr格式的录音,因为数据比较小

        2.安卓手机录得是amr,苹果手机一般路程wav

        3,所以为了适配不同客户端都能播放彼此的的录音,就需要转码(其实就是iOS端转码,安卓端不做操作)

        4,苹果手机从服务器获取的amr需要转换成wav格式播放,苹果手机录制的wav格式录音也需要转换成amr格式上传至服务器

   



 

    //改变一个新的路径_filePath

    _filePath= [_playName stringByReplacingOccurrencesOfString:@"wav" withString:@"amr"];

    //调用三方方法转码,_playName(此路径是手机录音保存的)wav语音转成amr并且保存在_filePath,将此路径的数据转换成data格式上传服务器

    [VoiceConverter wavToAmr:_playName amrSavePath:_filePath];





   //创建一个路径temp,用来保存amr文件  _user.phone是用户的手机号   _user.voice是一个录音连接

    NSString *temp=[NSString stringWithFormat:@"%@/Documents/%@loading.amr",NSHomeDirectory(),_user.phone];

    //创建一个新的路径tempPath,用来保存将amr转成wav的文件

    _tempPath=[NSString stringWithFormat:@"%@/Documents/%@loading.wav",NSHomeDirectory(),_user.phone];

    //temp路径里的的amr音频写到路径tempPath

    NSData *data1=[[NSData alloc]initWithContentsOfFile:_tempPath];

    if (data1==0) {//判断之前是否下载过此语音

        //将服务器获取的amr连接url转成data(也就是amr音频数据)

        NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:_user.voice]];

        // amr音频数据写入temp

        [data writeToFile:temp atomically:YES];

        //调用第三方,将获取的amr格式转换成wav格式,并且保存在tempPath

        [VoiceConverter amrToWav:temp wavSavePath:_tempPath];

        

    }









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值