启动打牛整一个好的android的视频播放器,造福我等影迷~
解决方案 »
- 初级问题,getString方法的
- 跪求android在线视频播放器完整项目的教学视频!!各位大神帮帮忙吧
- 程序后台运行30分钟后自动关闭了,很准时!求解
- SurfaceView显示的图片怎么调整他的大小啊,调整图片显示的宽高
- 加入Android开发行列,过来推荐两个教学视频
- AudioTrack 如何才能知道已经播放结束了
- 安卓真机调试,程序没有进入到Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit入口函数里?
- 视频讲解Android面试题【超清,不断更新】
- 百度地图多组经纬度批量转换为地址?
- 关于在fragment中刷新textview的问题
- 模拟器不执行程序问题
- android 获取本地IP地址
Android出现也是一两年的事情,其中最新鲜的玩意就是把Java成功推向移动开发,把大批的Java开发者带到一个充满诱惑的嵌入式世界,而我也因此有机会近距离观察它。
在Multimedia方面,Java提供的功能很多很强大,只是那一片片密密麻麻的代码,直让人头昏眼花,幸好有一点MFC基础,就尝试对号入座,如此一套,差不多理清一半的概念。先说头绪最乱的UI系统,Java提供的专业名字叫Graphic,首先映入眼脸的是Bitmap,这应该是2D数据存储的容器,千变万化,无所不包,能与JPG, PNG, GIF格式进行互换,又能轻松与Canvas, SurfaceView, Widget等概念融合,在真实的用户界面上展示出来。虽然很讨厌各式各样的概念,但本着艺多不压身的精神去深入琢磨,Canvas提供的功能涵盖了描点画线,绘图画圈,和MFC的DC概念如出一辙,顿悟。鉴于学习MFC时熟知的App/View/Frame架构,于是乎套了一下,应该是Activity/View/Widget,心中大喜,不再去细究。跳过UI层出不穷概念,试图去寻找本质,发现整个UI系统的灵魂叫Surface,不管Canvas, Widget, 还是各种各样的View,只要想在界面上有所展示,最终都离不开它。Java层的Surface,只是一个外壳,功能实现全部在JNI下面,后续篇幅会陆续谈到这一点。按耐住强烈的好奇心,先撇开Surface的具体实现不管,往上望去,在Surface上搭建出了SurfaceView, 以及用于GLES的GLSurfaceView,学习MFC时,接触过ListView,TreeView等等一大堆的View,想必Java里也有类似的高级货。各种View所提供功能只是如何去显示,为了更好的显示,需要对图形,图像进行复杂的加工处理,这就是bitmap, canvas等价值所在。鉴于其具体实现来自于底层的Skia库,应该在Skia篇细细唠叨。说完错综复杂的UI,进入Multimedia的一个重要话题,不管Mp3, Mp4 Player,核心都需要一个播放器,再高级一点,比如DV,那就需要Recorder,Android在Java层提供了周全的API,并且封装了类似MovieView等更到位的SDK,使得开发Android上的Audio, Video录放器变得易如反掌,虽然在Java里看不到太多的Player和Recorder代码,并不意味着这东西就很简单,上头轻松,下头受罪,Android的Opencore四千多个文件,就是专门用来干这个事情,当然想要支持更多更强劲的性能,这些还远远不够,需要更强大的硬件加速支持。该收尾时,发现自己对Java确实没有天赋,鉴于自身经历,不得不拿出MFC来说事,希望对MFC免疫的朋友,不要嘲笑-:)