感受Android带给我们的新体验
By: 海市蜃楼 | In: Android开发
16 十一 2009在学习之前,我们先简要解析几个概念,总结如下:
说到这里让我想起来,在学习DirectShow的时候,发现DirectShow也是通过声卡上的时间,来进行音/视频同步,毕竟硬件设备的时钟精确度比较高。JetPlayer则是Android SDK中提供的控制JET engine的类。
关于MIDI(Musical Instrument Digital Interface:乐器数码接口)我们简要说明下:

有了以上的基础知识,我们再来看Android SDK中的SONiVOX JETCreator User Manual这篇文章中的一些说明就简单多了,部分摘要如下:
从上面的说明中我们可以发现,*.jet文件包含多个Segment,而每个SegMent又包含多个Track,一个Track是MIDI Event的序列。MIDI Event的结构在前面已经详细说明了,下面我们就开始进入本篇幅的主题。
JetCreator authoring tool是使用Python编写的,在安装前需要安装Python and WXWidgets,安装好这更工具后,就可以使用这个工具来制作*.jet文件,这部分的详细说明,大家可以到Android SDK中Audio Video部分的文档去仔细阅读吧。有了*.jet文件,我们就可以通过JetPlayer来播放器中的声音效果,比如JetBoy游戏中的激光的声音。
结合我们前面的介绍,这几个接口函数是不是看起来就明白多了,唯一需要说的参数userID,这个参数是个标记,在程序中可以自己设置。
JetPlayer 是个单体类(a singleton class.),使用Static函数getJetPlayer(),就可以获取得到这个实例。JetPlayer类内部有个存放segment的队列,JetPlayer类的主要作用就是向队列中添加segment或者清空队列,其次就是控制segment的track是否处于打开状态。
至于如何使用是比较简单的,主要还是*.jet文件的制作上,以后有机会再为大家慢慢介绍如何制作*.jet文件,下一篇幅我们将介绍核心代码分析。

这里有一群热爱开发的人,我们的文章以原创、翻译为主,包含了我们对Android的认识,对Android的研究,以及一些开发心得和感想,如果 你喜欢我们的站点,喜欢我们的文章,欢迎拍砖,欢迎交流。希望新版的mo-Android能够为你带来更好的体验。
1 Response to JetBoy游戏深入解析(中)——JetPlayer类解析
yayiye
一月 6th, 2010 at 5:57 下午
运行这个游戏是
执行 Python JetCreator.py 命令
找不到 JetCreator.py 这个脚本啊?