您的位置:首页 > 移动开发 > Android开发

Android JNI开发之使用Lame将录音转MP3

2016-06-10 19:36 423 查看
写在前面

开发环境

前言

Lame

源码下载

写在前面

由于在写之前在网上搜了搜,发现GIthub上已经有AndroidStudio版使用Lame转Mp3的了,所以这篇博客写的例子是Eclipse版本,所以如果是AS的请移步到别人之前已经写好的Github地址:https://github.com/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.net/projects/lame/files/lame/3.99/

如果以上链接打不开可以下载我上传到CSDN的下载包:http://download.csdn.net/detail/airsaid/9545804

源码下载

http://download.csdn.net/detail/airsaid/9545868

后记:

由于时间有限,写的比较少,后期补充。需要注意的是MP3Recorder类的包名不可以改动,否则需要重新编译.so文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: