lame音频压缩解码(二)之编译事例Demo-阿里云开发者社区

开发者社区> hudan2714> 正文

lame音频压缩解码(二)之编译事例Demo

简介:
+关注继续查看

 

简单步骤:

一、下载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    := devchina
LOCAL_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.c
include $(BUILD_SHARED_LIBRARY)


 

注意要引入jni下所有的.c文件

 

六、操作如图:

 

七、简单调用代码:

#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

模拟器出了点问题,未验证。如有问题,请留言。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
利用ICSharpCode.SharpZipLib进行压缩
  #ZipLib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .
1038 0
阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
随着移动端应用的兴起,模型压缩作为深度学习模型实现轻量化部署的有效手段,备受关注。机器学习也从理论研究阶段,有了明显的工程化、应用落地的趋势,那么模型压缩在淘宝直播游戏场景下,是如何发挥重要作用的呢,让我们一起揭开神秘的实践面纱。
387 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4425 0
数据结构例程——对称矩阵的压缩存储及基本运算
本文针对数据结构基础系列网络课程(5):数组与广义表中第2课时特殊矩阵的压缩存储。 问题:用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&amp;b);//为N阶对称矩阵初始化存储数据的一维数组b int Value(int b[], int i, int j);//返回存储在b[M]中,对应二维数组A[i][j]的值 void A
871 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10761 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3199 0
+关注
102
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载