Android内置的编解码器实在太少,于是我们需要FFmpeg。Android提供了NDK,为我们使用FFmpeg这种C语言代码提供了方便。
首先创建一个标准的Android项目vPlayer然后在vPlayer目录里在ffmpeg下新建一个config.sh,内容如下,注意把PREBUILT和PLATFORM设置正确。另外里面有些参数你也可以自行调整,我主要是为了配置一个播放器而这样设置的。运行config.sh开始configureconfigure完成后,编辑刚刚生成的config.h,找到这句Android的GCC不支持restrict关键字,于是修改成下面这样编辑libavutil/libm.h,把其中的static方法都删除。
分别修改libavcodec、libavfilter、libavformat、libavutil、libpostproc和libswscale下的Makefile,把下面两句删除在ffmpeg下添加一个文件av.mk,内容如下接下来要添加一系列的Android.mk,在jni根目录下的内容如下在ffmpeg目录下,Android.mklibavformat/Android.mklibavcodec/Android.mklibavfilter、libavutil、libpostproc和libswscale下的Android.mk内容如下最外层的jni/Android.mk和jni/ffmpeg/Android.mk只是随便这样写的,你应该根据自己的需求改写。