ffplay2 android 版正式公布
项目地址:https://github.com/DeYangLiu/AndroidPlayer/
看点:
支持软键盘输入和历史记录。使用了EditText和内部存储。 这里考虑了历史记录的更新: 总共8条记录,新的放在后面,最前面被挤出,反复的忽略。
用ListView实现的简易文件浏览器。
用intent启动还有一个Activity。
ndk 调试。
移植ffmpeg 2.5和sdl2 到android的各种坑。
同一时候编译多个库
====
ln -s /mnt/OpenSource/SDL_image jni/
ln -s /mnt/OpenSource/SDL_image/showimage.c jni/src/
gvim jni/src/Android.mk
LOCAL_SRC_FILES = ... showimage.c
LOCAL_SHARED_LIBRARIES += SDL2_image
測试 cannot locate symbol atof
忘了SDLActivity.java里面加上SDL2_image
然后又出现cannot locate symbol "signal"
Q. how to judge android phone 32 or 64bit?
A: adb pull /system/bin/dalvikvm && file dalvikvm
当然我的手机是32bit的啦,网上有人须要用32bit的ndk的,我试了也没用。
迷茫中,下午又搜了一番,遇到[1]之后,事情出现转机。
ffmpeg4android
====
[1]下载下来不知道从哪里開始,
细致读了里面的shell脚本,明确了要下载ffmpeg源代码,
然后buildtest.sh。[1]的最初计划是和android source
tree以下编译的,可是在内地下载不了, 而u pelya 改造成能够单独编译。
我一開始试最新的ffmpeg2.5,失败了。看到脚本里面仅仅支持到1.1,于是下载了[2]。
makefiles以下三个文件:
Android_configure.mk -- 设置配置參数字符串
Android_.mk -- libavutils libavcodec 等子文件夹都用到的编译參数。
Android.mk -- 包括上面两个文件; 跟据config.mak设置APP_MODULES编译參数。
然后把ffmpeg源代码解压到$ffmpegdir,把makefiles以下的文件复制过去。
生成两个文件:
jni/Android.mk
jni/Application.mk
ln -s $ffmpegdir jni/ffmpeg
然后就能够编啦:
ndk-build -j8 2>&1 | tee build.log
由于SDL2本身自带一个mk,直接
ln -s $sdldir jni/SDL
在jni/Application.mk加上SDL2。
剩下还需一个jni測试入口:
cp -rf android-ndk-r10d/samples/hello-jni/jni/src jni/adapter
UI入口:
cp -rf android-ndk-r10d/samples/two-libs/src src
项目文件:
cp -rf android-ndk-r10d/samples/two-libs/{res, AndroidManifest.xml default.properties}
git代码已使用静态链接。感谢[1]的指引。
ref
====
[1] git://git.code.sf.net/u/pelya/ffmpeg4android
[2] http://ffmpeg.org/releases/ffmpeg-1.1.tar.bz2
ffplay2 android 版正式公布的更多相关文章
- F# 4.6 预览版正式公布
1月24日,F# 4.6 预览版正式公布,与以往一样,新版本的设计与开发过程是整个 F# 开源社区共同努力的结果,这次更新的具体讨论内容可以通过下面两个链接来查看: F# 4.6 意见征求记录 FSh ...
- Android P正式版即将到来:后台应用保活、消息推送的真正噩梦
1.前言 对于广大Android开发者来说,Android O(即Android 8.0)还没玩热,Andriod P(即Andriod 9.0)又要来了. 下图上谷歌官方公布的Android P ...
- Android O 正式版新功能
ref: Android O新特性和行为变更总结zzhttp://www.cnblogs.com/bluestorm/p/7148134.html Android O正式版带来了诸多新功能,如Tens ...
- 恩布900手机客服,安卓版本号Entboost Android 1.0 正式公布
恩布900手机客服,安卓版本号Entboost Android 1.0正式公布,支持一行代码在安卓手机实如今线客服的功能,支持文本.表情,图片,语音和离线消息等. ENTBOOST是跨平台.跨应用的实 ...
- Android 版的多合一Office应用也正式向iOS开放了
导读 在 Android 版的多合一 Office 应用「偷跑」不久后(官方证实上线时间比计划要早),为 iOS 准备的版本现在终于也结束 beta 测试正式上线了. 和只提供「有限」平板支持的 An ...
- 微软正式公布Visual Studio 2013 Update 3 (2013.3) RTM
昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式公布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译. ...
- Android版xx助手之天天酷跑外挂具体分析
Android版xx助手之天天酷跑外挂具体分析 图/文 莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯.当腾讯的微信平台接入手机游戏之后,移动端的游戏也開 ...
- Jexus web server V5.6.1正式公布
Jexus v5.6.1已经正式公布,下载和技术支持站点是 www.linuxdot.net. 该版开发时间历时11个月,后期直接在大流量生产环境中进行调试和优化,其正确性.稳定性.大并发承载能力.A ...
- 开发腾讯移动游戏平台SDK Android版Ane扩展 总结
本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式 问题一:编译报错:Unable to resolve target 'android ...
随机推荐
- 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH
原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 在项目中关于DataGrid的遇到过一些问题,其中是关于迁入CheckBox的双向 ...
- Objective-C中的SEL、IMP和Class类型
1.SEL类型 例子: SEL say; SEL skin; Objective-C 在编译的时候, 会根据方法的名字(包括参数序列),生成一个用 来区分这个方法的唯一的一个 ID,这个 ...
- 重新配置与卸载 11gR2 Grid Infrastructure
Oracle 11g R2 Grid Infrastructure 的安装与配置较之前的版本提供了更多的灵活性.在Grid Infrastructure安装完毕前执行root.sh经常容易出现错误,并 ...
- iOS技术开发-人机交互指南之UI设计基础:iOS App Anatomy
第二篇更多的是从技术的角度对iOS界面组成原理进行了简单的解析,篇幅很短,可稍作了解:更多关于iOS开发入门的内容可参考“设计师应该了解的iOS应用开发基础知识”一文.另外,非常感谢各位朋友在微博上的 ...
- shell程序设计(转)
1.shell脚本的基本概念: (1)Shell执行的是称为shell程序,这些程序通常被称为脚本. (2)Shell是一个用户和系统间接口的程序,它允许用户向操作系统输入需要执行的命令. (3)sh ...
- Google App Engine 学习和实践
这个周末玩了玩Google App Engine,随手写点东西,算是学习笔记吧.不当之处,请多多指正. 作者:liigo,2009/04/26夜,大连 原创链接:http://blog.csdn.ne ...
- 获取字符宽度:并非自适应。coretext去计算
获取字符宽度:并非自适应.coretext去计算 UniChar ch = [ns_str characterAtIndex:0]; CGGlyph glyph = 0; CTFontGetGlyph ...
- mysql 分区和集群
集群和分区:http://han-zw.iteye.com/blog/1662941http://www.php-note.com/article/detail/794 分区:http://lober ...
- hdu 4507 数位dp(求和,求平方和)
http://acm.hdu.edu.cn/showproblem.php?pid=4507 Problem Description 单身! 依旧单身! 吉哥依旧单身! DS级码农吉哥依旧单身! 所以 ...
- 绑定运行计划sql_plan_baseline
--因为生产环境运行的sql变化较快,版本号公布比較频繁,造成sql的运行计划不是非常稳定.常常会有一些性能非常查的sql出现 --对于这些sql,我们能够使用sql_plan_baseline对运行 ...