1.在生成头文件以后,在Android工程目录下新建一个jni目录,把ffmpeg源码拷入jni目录,然后在jni目录编写一个C文件,其中需要申明头文件,如#include <ffmpeg/libavcodec/avcodec.h>,其他的依次类推。在C文件中可以调用ffmpeg的各种函数。
2.还是在jni目录中,编写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 := mediaplayer //要编译出的动态库名
LOCAL_SRC_FILES := mediaplayer.c //要编译的C文件
include $(BUILD_SHARED_LIBRARY)
3.退回Android工程目录下,输入ndk-build,,开始编译。如未出错,则编译成功,在Android工程目录下自动生成libs目录,里面是编号的so库,注意要把libffmpeg.so库一起放到这个目录下。
注意:把ffmpeg源码全部放到jni目录下,因为在自己写的C文件里面要调用相应的头文件。
2.还是在jni目录中,编写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 := mediaplayer //要编译出的动态库名
LOCAL_SRC_FILES := mediaplayer.c //要编译的C文件
include $(BUILD_SHARED_LIBRARY)
3.退回Android工程目录下,输入ndk-build,,开始编译。如未出错,则编译成功,在Android工程目录下自动生成libs目录,里面是编号的so库,注意要把libffmpeg.so库一起放到这个目录下。
注意:把ffmpeg源码全部放到jni目录下,因为在自己写的C文件里面要调用相应的头文件。