新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正
首先确明一点,swf格式和其他的一些频视格式有很大的区分。
它里头不仅有音频还有其他的各种素元(语术叫块类型)括包但不仅限于:
矢量图、图片、文字、字体、段片动画、钮按、帧、动作、音频等等
你须要将这些素元逐一析解并染渲出来。
种这格式是许允户用来互动的,你像大多数flash游戏,户用可以点击钮按发生不同的动画效果。这就说明swf格式里头还有
代码来制控这些行为。
面下来谈实现:
我们要想自己来写一个swf格式的播放器仿佛不太事实,因为有件文析解,mp3解码,事件处置,图片染渲等等对于我们来讲
太庞杂,也太耗时。
在网上找了几个开源的swf播放器源码,像swfdec fliter等,我近来有究研了下fliter。但现发它只被维护到2006年就没再续继维护,所以
我们后来出来的一些flash它都没法播放,这个须要我们自己去添加应相的块类型处置。
android上实现须要将swfdec或者fliter移植到android台平,但是无论是swfdec还是fliter都赖依好些lib ,如fliter赖依与libz libjpeg libmad等
而且这些都是必须的,比如libz 因为有的块用采的是缩压的格式所以要解压,libjpeg是析解图片,libmad是mp3解码。因此我们要移植fliter首先
得把这三个lib应用交叉译编的方法用ndk译编出来,再来供libfliter来应用。
另外还有一个艰难的任务就是音频和频视的染渲,须要应用到android的audiotrack和surface,这些跟系统相干的须要我们自己来实现。
前目就是这个路思,接下来我会开始实现这些功能。
文章结束给大家分享下程序员的一些笑话语录:
腾讯的动作好快,2010年3月5日19时28分58秒,QQ同时在线人数1亿!刚刚看到编辑发布的文章,相差才2分钟,然后连专题页面都做出来了,他们早就预料到了吧?(其实,每人赠送10Q币,轻轻松松上两亿!)