iOS语音简单使用

首先贴一下demo地址

https://git.oschina.net/wayzhu/testaudio

主要实现内容:iOS使用语音的录制与播放,

由于是结合网上大神的代码,所以在此只说一下个人的相关处理:

1.语音编码转给安卓(wav转amr转data)

2.安卓的语音解码(amr转Wav(data型))

主要技术就是安卓传回amr的data,需要我们解析并转换wav型的data,一下是相关代码

        /***********1.通过文件路径播放wav语***************/

//        let convertePath = self.getPathFileName(fileName: self.fileName! + "AmrToWav", type: ".wav")

//        try? self.player = AVAudioPlayer.init(contentsOf: URL.init(string:convertePath)!)

        /***********1.通过文件路径播放wav语***************/

 

        

        /***********2.通过文件路径播放wav语***************/

        //将data存入文件中,

        self.voiceData?.write(toFile: NSTemporaryDirectory().appending("AmtToWav"), atomically: true)

        //将amr的data转成wav

        VoiceConverter.convertAmr(toWav: NSTemporaryDirectory().appending("AmtToWav"), wavSavePath: NSTemporaryDirectory().appending("AudioTempConvertFile"))

        //获取新的wav的Data

        let converData = NSData.init(contentsOfFile: NSTemporaryDirectory().appending("AudioTempConvertFile"))

        //通过data播放语音

        try? self.player = AVAudioPlayer.init(data: converData! as Data)

        

        /***********2.通过文件路径播放wav语***************/

 

相关base64编解码代码也奉上了

    //文件转base64编码

    func urlEncodingBase64(url:URL) -> String{

        let data = try! Data.init(contentsOf: url)

        return (data.base64EncodedString(options: .lineLength64Characters))

    }

//    //base64转data解码

    func stringDecodingData(string:String) -> Data {

        

        let data = Data.init(base64Encoded: string, options: .ignoreUnknownCharacters)

        return data!

    }

 

 

 

转载于:https://my.oschina.net/wayzhu/blog/903140

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值