之前做的即时通讯项目,是统一使用mp3格式发送语音,但这次因为新来的ios开发不会转音频(居然不会??),只能由我来转aac去配合ios。
刚开始查了很多资料,基本都说什么用speex、ffmeg转之类的,可惜都没有现成能用的,最终找到了基于faac实现的jni库,完全符合我的需求,于是马上拿来用。
经过测试,http://bashell.sinaapp.com/aacencoder这篇文章里面的代码直接用的话,在部分手机是会报错的,原因是部分机型最小缓存大小(AudioRecord.getMinBufferSize)比较高,用楼主的代码会设进一个比较低的值导致搞错(而且只要bufferSize不一样就肯定会出问题的)。
楼主估计也是太久之前写的代码了,也没去完善,直接建议使用VoAAC,我稍微修改了下,已经解决这问题了。
具体代码在lwx.linin.aac.AAC中,可以稍微看下(因为毕竟效率比较低都被嫌弃了的代码,不看也无所谓,直接用VoAAC就行)
根据楼主的代码稍微修改了下,工具类用法简单,并且加了个录音失败就重新使用其余的采样率重新开始录音的代码,虽然我觉得应该没什么用啦。。。
1、项目关键
2、使用方法
3、记得加上权限