eclipse中简单使用libffmpeg.so

参考http://tq09931.iteye.com/blog/1011895

1. eclipse下新建android项目HelloJni
2. 在该工程目录下新建jni目录,把ffmpeg源代码拷进来,然后在jni目录下创建并编辑Android.mk和hello-jni.c文件
Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
PATH_TO_FFMPEG_SOURCE := $(LOCAL_PATH)/ffmpeg
LOCAL_C_INCLUDES += $(PATH_TO_FFMPEG_SOURCE)
LOCAL_LDLIBS := -lffmpeg
LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)
hello-jni.c
#include <string.h>
#include <stdio.h>
#include <android/log.h>
#include <stdlib.h>
#include <jni.h>
#include <ffmpeg/libavcodec/avcodec.h>

jstring
Java_com_example_hellojni_MainActivity_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
	char str[25];
	sprintf(str, "%d", avcodec_version());

    return (*env)->NewStringUTF(env, str);
}
3. 用ndk-build命令编译
完成后,在工程的libs/armeabi下生成libhello-jni.so


4. 把libffmpeg.so也拷至libs/armeabi下,写java代码进行测试
package com.example.hellojni;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		TextView  tv = new TextView(this);
                tv.setText("1111");
                setContentView(tv);

		tv.setText(String.valueOf(stringFromJNI()));
	}
	
	public native String stringFromJNI();
	
	static {
		System.loadLibrary("ffmpeg");
                System.loadLibrary("hello-jni");
        }

}

5. 完成,运行后在手机上看到输出3617894


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值