Android中采用AudioRecord录制的音频数据,格式是.pcm。若需要在其他平台如ios上都能正常播放,则需要转为.mp3通用格式。
常用的做法:使用Lame库将PCM数据编码成mp3格式
下面着重介绍下如何使用lame库编码pcm为mp3格式
- 当然是下载Lame源码https://sourceforge.net/projects/lame/files/lame/
- 下载后解压,然后找到libmp3lame文件夹,将里面的.c和.h文件全部复制到项目的cpp目录中,也可在cpp目录下创建一个lamemap3的目录,然后复制进去。如下图
[图片上传失败...(image-9e0815-1547625403075)]
- 然后,再找到include文件夹,将lame.h文件拷贝到cpp的lamemap3目录中
- 然后修改几个地方,具体我后面有时间在细化,目前请参考链接4
- 然后就是结合jni编写本地代码调用lame库c代码进行转换即可
参考链接:
- https://www.jianshu.com/p/dce4e2e9ed75
- https://blog.csdn.net/allen315410/article/details/42456661
- https://github.com/clam314/LameMp3ForAndroid
- https://www.jianshu.com/p/065bfe6d3ec2#
- https://blog.csdn.net/javine/article/details/73277816
- https://iwatching.github.io/blog/%E9%9F%B3%E9%A2%91/2018/07/07/audio02.html
- https://www.jianshu.com/p/edab7934ec34