收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 

交流首页 » 移动编程 »利用ffmpeg和SDL实现一个跨android版本的音视频播放器 多媒体 ffmpeg android多媒体 sdl 视频 jni  XML
发表人 内容
natian
[头像]

交流经验:
总积分:-90
级别:普通会员
注册时间: 2011-11-04
文章: 26
离线

利用ffmpeg和SDL实现一个跨android版本的音视频播放器 多媒体 ffmpeg android多媒体 sdl 视频 jni
1:从 http://www.libsdl.org/tmp/下载SDL for android 版本(我下载的是 SDL-1.3.tar.gz )
2:从 https://github.com/havlenapetr/FFMpeg下载 havlenapetr 的ffmpeg for android版本。
3:把你下载的SDL for android版本解压到本地目录,解压到本地.
4:解压后的根目录下面有一个android-project工程,在jni目录下面新建一个SDL目录,把根目录下面的src目录,include目录和Android.mk拷贝到新建里的SDL目录下面
5:把ffmpeg for android 工程下jni目录的libffmpeg拷贝到android-project的jni目录下
6: http://dranger.com/ffmpeg/下载tutorial08代码并把文件放在jni的src目录下
8:编写tutorial08的mk文件
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := main

SDL_PATH := ../SDL

LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SDL_PATH)/include \
		    $(LOCAL_PATH)/../libffmpeg \

# Add your application source files here...
LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \
	tutorial08.c

LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
LOCAL_SHARED_LIBRARIES := SDL
LOCAL_STATIC_LIBRARIES := libavformat libavcodec libavutil libpostproc libswscale

LOCAL_LDLIBS := -ldl -lGLESv2 -llog

include $(BUILD_SHARED_LIBRARY)

9:SDLActivity中load so
 // Load the .so
    static 
        System.loadLibrary("SDL");
        //System.loadLibrary("SDL_image");
        //System.loadLibrary("SDL_mixer");
        //System.loadLibrary("SDL_ttf");
        System.loadLibrary("main");
    

10:改写nativeInit方法
  // Runs SDL_main()
    	String avPath = Environment.getExternalStorageDirectory()+File.separator+"DancingQueen.mp4";
        SDLActivity.nativeInit(avPath);

        //Log.v("SDL", "SDL thread terminated");


11:进入到android-project项目根目录,ndk-build 耐心等待一会就可以编译出两个库libSDL.so和libmain.so



运行你的android-project项目播放你的视频吧.

下面是我播放视频的截图






推广链接
精品视频课程推荐

Spring3开发实战-独家视频教程
从零到精通Spring3的开发知识;IoC/DI的思想、IoC/DI的运行流程、IoC/DI的开发指导、AOP的思想、AOP的运行流程、AOP应用的设计、Spring对JDBC和Hibernate的支持、Spring的事务、SSH的集成应用

独家Android4就业经典视频教程
从零开始,循序渐进掌握Android的核心开发知识;理解Android应用的运行过程、理解Intent和IntentFilter、 掌握资源和国际化、理解Android的进程和线程、理解Task和会退栈、理解Activity在屏幕旋转时的生命周期、 理解Handler的原理以及开发应用、掌握三种Service的写法、理解Broadcast的原理......

Android4项目实战--五子棋视频教程
多种布局的综合使用、ImageButton的改进使用、AutoCompleteTextView的应用、显示多项的ListView、基本的人工智能的实现,基于启发式搜索算法、SharedPreferences和Sqlite的应用、自定义View的实现和应用等

深入浅出学Spring Web MVC视频教程
系统、完整的学习Spring Web MVC开发的知识。包括:Spring Web MVC入门;理解DispatcherServlet;注解式控制器开发详解;数据类型转换;数据格式化;数据验证; 拦截器;对Ajax的支持;文件上传下载;表单标签等内容;最后以一个综合的CRUD带翻页的应用示例来综合所学的知识

freevoice(局域网对讲机)——Android4项目实战视频教程
实现通过Wifi来在局域网内相互传递信息和语音通话的功能;学习Service;Broadcast Receiver;SharedPreference;SQLite;语音录制、播放、传输等;网络开发:wifi处理、UDP编程、TCP编程;多种设计模式的应用 等等

 
交流首页 » 移动编程
前往:   

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网