基于移动平台的多媒体框架——移植SDL到Android
SDL-1.3版开始官方支持Android。本文记录了移植1.3以上的版本的简单过程。要做一个完整的播放器,只有ffmpeg解码还不够,还需要一个显示视频播放音频的库,SDL是它的完美搭档。如何结合ffmpeg和SDL写一个播放器,可以参考经典教程(http://dranger.com/ffmpeg/)。我这里介绍如何把SDL移植到Android上。
第一步:下载SDL最新版(>=1.3),解压。
$ tar xf <YOUR-SDL-PAHT>/SDL-1.3.tar.gz
第二步:找到android-project目录。这个目录相当于一个Android工程的模板,把这个目录复制到你要要建立工程的地方。
$ mv <YOUR-SDL-PAHT>/SDL-1.3.0-6050/android-project <YOUR-PROJECT-PATH>/
第三步:把第一步解压后的SDL移到android-project下面的jni目录下,并改名为SDL。
如果不改名,文件名会有"SDL-版本号",编译会出错。
android-project$ mv <YOUR-SDL-PAHT>/SDL-1.3.0-6050/ jni/SDL
第四步:将你写好的C代码放到jni/src目录下。
这里我们举例,就把SDL里面的test/testgles.c复制过去。
android-project$ cp jni/SDL/test/testgles.c jni/src/
第五步:编辑jni/src/Android.mk里面LOCAL_SRC_FILES一项,按照注释把相应的文件名改为第四步你自己写的文件名。
这里我们看到有一行是SDL_PATH := ../SDL,这就是SDL所在的路径,如果你第三步没有改SDL的文件名,也可以改这里,总之把它们统一起来就可以了。
android-project$ vi jni/src/Android.mk
第六步:ndk-build。
android-project$ndk-build
这一步如果编译通过,就算是移植成功了。如果你熟悉jni编程,后面的过程就很简单了。
第七步:把android-project导入到eclipse中,直接运行就可以了。
如果直接用命令行编译java也可以,eclipse更加方便一些。java部分调用c的代码就在android-project的src目录下面,是SDL官方提供的,最好不要改动。
分享到:
相关推荐
安卓Android源码——基于SDL、FFmpeg的android播放器源码.rar
安卓Android源码——基于SDL、FFmpeg的android播放器源码.zip
安卓Android源码——基于SDL、FFmpeg的播放器源码.zip
安卓Andriod源码——基于SDL、FFmpeg的播放器源码.zip
Mini6410上移植SDL游戏的详细步骤,含有源代码,可以直接在mini6410上直接运行
SDL2.2.0.1的移植,包含SDL的每个参数的意思,包含交叉编译器的安装,包含移植过程中出错的处理方法。 --prefix=/usr/arm 安装SDL路径 --enable-shared=yes 构建共享库[开启] --enable-nasm 装配blitters x86上的...
Android程序SDL2类库使用说明 简单记录一下Android程序使用SDL2类库的方法。这部分的信息可以参考SDL2源代码目录中的README-android.txt文件。SDL2使用的步骤可以分为以下步骤:
可以完美播放视频 移植SDL和ffmepg到android上
android下移植的sdl库,版本是1.3的
游戏移植需要的开发板上的SDL库的配置,以及怎么样才能让游戏顺利的在板子上运行。看了之后会迎刃而解的。
SDL是一个自由的跨平台的多媒体开发包 适用于游戏 适用于游戏SDK 适用于模拟器 适用于演示软件 适用于多媒体应用软件
基于qt 5.14 + LVGL 8.0 + SDL2 仿真
simplest_sdl_android_helloworld: 移植SDL到安卓平台的最简单程序 [IOS] simplest_ios_player: 基于IOS接口的视频播放器 simplest_ffmpeg_ios_helloworld: IOS平台下基于FFmpeg的HelloWorld程序 simplest_ffmpeg_...
Eclipse Android 例子源码 SDL Android 例子源码可用工程,实测编译通过在模拟器运行...此工程基于sdl 2.0 主要是.JNI工程,通过java,用c写图形在android上跑,相信sdl以后还对不会写java的人有很大参考价值和帮助.
SDL Android下编译源码, SDL2.03, Eclipse下NDK 编译运行
把ffmpeg 的ffplay 移植到 sdl2 上,并建立 vs2012 工程,方便研究学习 ffplay 的解码工作流程
游戏开发而提供的垮平台C++多媒体库,基于SDL 1)Simple DirectMedia Layer 1.2.8 (SDL) 2)SMPEG 0.4.4 (MPEG) 3)UCL 1.02 (UCL) 4)SDL_Mixer 1.2.6, MikMod 3.1.9a,LibVorbis 1.0.1,LibOgg 1.0 5)SDL_net 1.2.5 ...
SDL是Simple DirectMedia Layer 的缩写,是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、...
基于SDL的界面框架(组件全面)
本文档详细说明了SDL嵌入式移植的细节,很具体;有需要了解这方面内容的可以下载参考下。对于想在S3C6410开发板上移植SDL的同学特别有参考价值。