Android 使用libmp3lame开源库 解决录音文件转换成mp3文件

这个文章是描述Android下如何使用libmp3lame

http://developer.samsung.com/android/technical-docs/Porting-and-using-LAME-MP3-on-Android-with-JNI


这个有JNI部分使用

http://wenku.baidu.com/view/70cebd3e580216fc700afd51?from_page=view&from_mod=download 


这个在下面有附件的
http://ikinglai.blog.51cto.com/6220785/1228730   


录音的
http://www.cnblogs.com/Amandaliu/archive/2013/02/04/2891604.html 


这个是直接就可以录制成MP3的
https://github.com/talzeus/AndroidMp3Recorder 


这个人可能实现了,只是贴出来部分代码。没有源码

http://blog.163.com/zzf_soft/blog/static/134001747201331234612341/


JNI的相关API

http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你要使用libmp3lame.lib静态,你需要在你的工程中添加libmp3lame.lib文件的链接。具体的步骤如下: 1. 在你的工程中添加libmp3lame.lib文件。 2. 在你的代码中包含Lame的头文件,例如lame.h。 3. 在你的代码中调用Lame提供的函数进行编码或解码。 4. 在你的编译器中设置Lame的头文件文件的路径,以便编译器能够正确地找到它们。 下面是一个C++的例子程序,演示了如何使用Lame进行音频编码: ```c++ #include <stdio.h> #include <lame.h> int main(int argc, char **argv) { FILE *pcm = fopen("input.pcm", "rb"); FILE *mp3 = fopen("output.mp3", "wb"); const int PCM_SIZE = 8192; const int MP3_SIZE = 8192; short pcm_buffer[PCM_SIZE * 2]; unsigned char mp3_buffer[MP3_SIZE]; lame_t lame = lame_init(); lame_set_num_channels(lame, 2); lame_set_in_samplerate(lame, 44100); lame_set_out_samplerate(lame, 44100); lame_set_brate(lame, 128); lame_init_params(lame); int read, write; do { read = fread(pcm_buffer, 2 * sizeof(short), PCM_SIZE, pcm); if (read == 0) write = lame_encode_flush(lame, mp3_buffer, MP3_SIZE); else write = lame_encode_buffer_interleaved(lame, pcm_buffer, read, mp3_buffer, MP3_SIZE); fwrite(mp3_buffer, write, 1, mp3); } while (read != 0); lame_close(lame); fclose(mp3); fclose(pcm); return 0; } ``` 需要注意的是,上面的代码只是一个示例,你需要根据你的实际需求进行修改。同时,你需要根据你的编译环境和应用程序的需求进行设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值