您当前的位置: 首页 >  android

小枫_S

暂无认证

  • 13浏览

    0关注

    42博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

录音转换Mp3-Lame4Android 上篇-带详细SO库编译教程

小枫_S 发布时间:2017-01-18 18:05:22 ,浏览量:13

在Android与IOS上面如果做录音功能,一般手机录制出来的音频格式都不是MP3,为了两个平台的APP的录音文件一致,需要选择一种两个平台都支持播放且占用存储空间不会太大的音频文件格式,这里MP3就符合这一需求。我们这里选择libmp3lame把AudioRecord音频流直接转换成MP3格式。 本文使用eclipse进行开发 那下面就开始我们的前期工作

1.给eclipse增加NDK开发支持

我这里使用的不是Cygwin,而是谷歌提供的android-ndk-r10e,大家自行下载并配置环境变量,这里就不多说。

2.下载Lame源码

我这里为了方便大家下载,上传了一个版本为lame-3.99.5的源码包,地址为http://download.csdn.net/download/q919233914/9740509 大家也可以在这里下载最新的lame,https://sourceforge.net/projects/lame/files/lame/ 不过有可能被墙 这里写图片描述

3.创建工程(这里我们创建一个Java工程)

工程结构如下 这里写图片描述 我们在这里创建一个名称为jni的文件夹,目录树如下图 这里写图片描述 1. 我们将上文下载好的lame源码解压,复制lame-3.99.5/libmp3lame 到jni目录里,改名为lame-3.99.5_libmp3lame(这个名字大家随意取,后面要用到)

2. 将源码中lame.h (include目录下),拷贝到jni/lame-3.99.5_libmp3lame/lame.h

3. 对lame-3.99.5_libmp3lame下的源码进行处理,处理如下 a. 删除非.c/.h文件: Makefile.am、Makefile.in、depcomp、logoe.ico、 b. 删除文件夹i386及其目录下的文件 c. 编辑 util.h文件。 这里写图片描述

把extern ieee754_float32_t fast_log2(ieee754_float32_t x);替换为extern float fast_log2(float x);。如果忘了替换,编译时会报出以下错误:

[armeabi] Compile thumb : mp3lame

关注
打赏
1495089800
查看更多评论
立即登录/注册

微信扫码登录

0.1678s