Android Lame c库应用

废话不多说.

<1> : 首先可以从网上面下载lame库;

<2> : 新建一个android工程,如前面博客的添加所有的配置文件和jni目录;

<3> : 添加lame c文件库到jni中:解压后添加下面两个:

<4> : 根据<2> 中的文件目录,编写makefile文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := lamejni

LOCAL_SRC_FILES := ./libmp3lame/bitstream.c \
					./libmp3lame/encoder.c \
					./libmp3lame/fft.c \
					./libmp3lame/gain_analysis.c \
					./libmp3lame/id3tag.c \
					./libmp3lame/lame.c \
					./libmp3lame/mpglib_interface.c \
					./libmp3lame/newmdct.c
LOCAL_SRC_FILES += ./libmp3lame/presets.c \
					./libmp3lame/psymodel.c \
					./libmp3lame/quantize_pvt.c \
					./libmp3lame/quantize.c \
					./libmp3lame/reservoir.c \
					./libmp3lame/set_get.c \
					./libmp3lame/tables.c \
					./libmp3lame/util.c
LOCAL_SRC_FILES += ./libmp3lame/takehiro.c \
					./libmp3lame/vbrquantize.c \
					./libmp3lame/VbrTag.c \
					./libmp3lame/version.c
LOCAL_SRC_FILES += ./libmp3lame/xmm_quantize_sub.c
LOCAL_SRC_FILES += durianlame.c durianutils.c

LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)


durianlame.c :

#include "durianlame.h"
#include "durianutils.h"
#include "libmp3lame/lame.h"

JNIEXPORT jstring JNICALL Java_com_durian_lamelib_DurianLame_getLameVersion
  (JNIEnv *env, jobject jobj){

	char *version=get_lame_version();

	return (*env)->NewStringUTF(env, version);

}

上面是获取lame库的版本,lame库对外基本上所有的接口都在它的lame.c中

应用层调用:

/**  
* @Title: DurianLame.java
* @Package com.durian.lamelib
* @Description: TODO
* @author zhibao.liu from durian organization
* @date 2016-1-4 下午02:24:43
* @version V1.0  
*/
package com.durian.lamelib;

/**
 * @ClassName: DurianLame
 * @Description: TODO
 * @author zhibao.liu Freelancer
 * @email warden_sprite@foxmail.com
 * @date 2016-1-4 下午02:24:43
 *
 */
public class DurianLame {

    public native String getLameVersion();
    
    static{
        System.loadLibrary("lamejni");
    }
    
}


lame.c的所有的接口都可以对应到应用层,可以参照上面一次类推.


代码code : http://pan.baidu.com/s/1kUjdzAf








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值