lame音频压缩解码(二)之编译事例Demo
来源:互联网 发布:神经网络bp算法 编辑:程序博客网 时间:2024/06/06 02:04
简单步骤:
一、下载lame存文件。
二、创建android工程后,解压lame包,拷贝lame文件夹中的libmp3lame文件下的所有.c和.h文件到android工程的jni目录下。
三、从lame包中的include文件夹中,拷贝 lame.h到jni目录下。
四、定义natvie方法。
五、在jni目录下,编写android.mk文件。
六、进入工程的bin/classes目录下,通过javah生成.h文件。
七、根据生成的.h文件,创建相应的devchina.c文件。调用lame中的c函数。
八、打开cywin,进入到工程目录。执行ndk-build命令。
详细图形说明:
一、lame下载地址:http://download.csdn.net/detail/hudan2714/4348930
二、如图:
说明:只需要拷贝.c和.h文件。
三、
在include下拷贝lame.h。
四、(简)
五、编写.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := devchinaLOCAL_SRC_FILES := bitstream.c fft.c id3tag.c mpglib_interface.c presets.c quantize.c reservoir.c tables.c util.c VbrTag.c encoder.c gain_analysis.c lame.c newmdct.c psymodel.c quantize_pvt.c set_get.c takehiro.c vbrquantize.c version.cinclude $(BUILD_SHARED_LIBRARY)
六、操作如图:
七、简单调用代码:
#include <stdio.h>#include <jni.h>#include "lame.h"#include "com_devchina_lame_DevchinaActivity.h"JNIEXPORT jstring JNICALL Java_com_devchina_lame_DevchinaActivity_getLameVesion (JNIEnv * env, jobject obj){return (env*)->NewStringUTF(env,get_lame_version());}
八、如图:
编译时出现如上错误,需要修改util.h文件,如图:
需要把ieee754_float32_t改成float即可。
然后,再执行ndk-build命令。生成.so文件。
记住在调用native函数时要加载动态库:
static {System.loadLibrary("devchina");}
例子代码下载:http://download.csdn.net/detail/hudan2714/4348971
模拟器出了点问题,未验证。如有问题,请留言。
- lame音频压缩解码(二)之编译事例Demo
- lame音频压缩解码(一)Lame知识小解
- iOS 使用lame库进行音频转mp3(二)
- LAME-MP3编码引擎(音频)
- 音频压缩和编解码(Audio Compression and Codec)
- 编译lame
- lame编程:MP3解码
- STL之迭代器事例二
- 音频编解码应用系统设计(二)
- iOS 使用lame库进行音频转mp3(一)
- c语言基础(二)之指针事例
- ffmpeg解码音频的两种方式(二)根据同步字节解析音频帧
- sox和lame音频处理器
- jni使用基础(七)之java调用c事例Demo
- jni使用基础(九)之c调用java事例demo
- 二、android jni开发 音频编解码
- android编译lame
- lame 静态库编译
- Eclipse 注释 模版 template
- <dlfcn.h>
- 单目摄像机标定程序2
- 新浪api文档
- syslog.h
- lame音频压缩解码(二)之编译事例Demo
- Linux数据类型大小
- CentOS 查看版本
- struts2 国际化
- 大数乘法C++实现
- android selector下的设置背景属性值
- 网络安全知识
- Magento 使用Canonical来使分类页权重集中
- 关于VB的特点