Android录音转为MP2的实现

这篇博客介绍了如何在Android平台上利用AudioRecord类和twolame库实现录音并编码为MP2格式。通过NDK将twolame移植到Android,创建.so库,并详细讲解了移植过程,包括新建工程、引用C代码、生成.so文件、编写JNI接口等步骤。文章还提供了源码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android录音转为MP2的实现

利用Android提供的AudioRecord类以及开源编码库twolame,实现了android手机边录音边编码,录音完成直接得到MP2音频文件。由于Android本身不支持MP2的编码,所以要借助NDK将mp2编码库twolame移植到android工程中。MP
2的帧格式参见另一篇博文MP2帧格式介绍

源码下载地址

http://download.youkuaiyun.com/detail/u012741756/9789885

  • 开发环境:Windows
  • 开发工具:Android Studio 2.2.3和NDK
  • 开发包:twolame 0.3.13 twolame下载地址

一 设计思路

利用Android提供的AudioRecord类,采集声音样本PCM数据,MP2规定1152个声音样本构成一帧,所以在新的线程中循环读1152个样本数据,当读到数据后立即进行编码,将1152个PCM数据转为一帧MP2,保存到文件中,录音结束直接得到MP2音频文件。其中编码部分采用开源MP2编码库twolame,利用JNI将twolame整合到Android工程中。如果想存为MP3音频文件,将twolame编码库换成lame编码库,再修改一些地方即可。

二 twolame的Android平台移植,生成.so文件

2.1 新建Android工程

  • 新建android empty project,工程目录切换到Project视图,app右键新建jni文件夹,如下图:
    新建JNI文件夹

  • 找到你的工程目录,比如我的在F:\AndroidStudioProjects\RecMicToMp2Doc\app\src\main\jni,将twolame 0.3.13文件夹下的libtwolame文件夹拷贝到jni文件夹下,此时你的工程目录应该是这样子的&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值