- 写在前面
- 开发环境
- 前言
- Lame
- 源码下载
写在前面
由于在写之前在网上搜了搜,发现GIthub上已经有AndroidStudio版使用Lame转Mp3的了,所以这篇博客写的例子是Eclipse版本,所以如果是AS的请移步到别人之前已经写好的Github地址:https://github/GavinCT/AndroidMP3Recorder (未亲测过)
最终实现效果:
开发环境
- IDE版本:Eclipse
- 物理机版本:Win7旗舰版(64位)
前言
在实际开发中,录音出现的频率还是很高的,通常我们会直接用Android提供的两个录音API:
* MediaRecorder:
* 已经集成了录音、编码、压缩等操作,支持少量的录音格式,如:.aac .amr .3gp。
* 优点:大部分已经集成,只需要调用相关API即可,代码量少。
* 缺点:无法实时处理音频,输出的音频格式不多。
* AudioRecord:
* 主要实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理。
* 优点:语音的实时处理,本篇博客就将用AudioRecord进行实时录音。
* 缺点:输出的格式为PCM语音数据,如果直接保存音频文件并不能播放,需要进行数据编码(如进行WAV格式封装)以及压缩。
通常的使用是没有问题的,但是如果我们需要将音频上传到服务器,并且IOS那边也能播放,那么就会由于音频格式而出现我们这边的录音在IOS那边无法正常播放。
这时候就需要和IOS那边统一一下音频格式了,跨平台的话,MP3无疑是最好的格式了,因为Android和IOS都默认支持播放,所以这一篇博客主要写的是如何将录音格式转成MP3。
Lame
LAME是目前最好的MP3编码引擎,并且是免费的。我们只要知道它可以将音频转成我们想要的格式就行了。
目前最新的版本是3.99,下载地址:
下载地址:https://sourceforge/projects/lame/files/lame/3.99/
如果以上链接打不开可以下载我上传到CSDN的下载包:http://download.csdn/detail/airsaid/9545804
源码下载
http://download.csdn/detail/airsaid/9545868
后记:
由于时间有限,写的比较少,后期补充。需要注意的是MP3Recorder类的包名不可以改动,否则需要重新编译.so文件。
更多推荐
Android JNI开发之使用Lame将录音转MP3
发布评论