admin管理员组

文章数量:1583571

  • 写在前面
  • 开发环境
  • 前言
  • 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文件。

本文标签: JNIandroidLame