启动打牛整一个好的android的视频播放器,造福我等影迷~

解决方案 »

  1.   

    呵呵,android多媒体子系统无非包括OPENCORE,OPENMAX,STAGEFRIGHT,OPENGL ES,Skia邓库,只不过是android的冰山一角啊,研究内核和驱动才是王道
      

  2.   

    http://blog.csdn.net/lxzhg/archive/2010/09/25/5905799.aspxAndroid Multimedia技术实现分析 --- Java篇本篇讨论不详细列举分析Java的API,只是对Multimedia的设计思路进行一个总结。不大清楚什么时候,Java开始流行起来,真正火的时候,已经离开了学校,一直无缘接近它,最粗略的印象是觉得它长得像C,用起来像C++,是开发互联网应用的利器。
    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免疫的朋友,不要嘲笑-:)
      

  3.   

    谢谢各位达人批评指点,一起交流,共同进步,毕竟还要再靠Android吃几年饭
      

  4.   

    前段时间自己看了一下Opencore , 郁闷 ,把我弄猥琐了。