移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc

上传人:李司机 文档编号:7037271 上传时间:2024-04-23 格式:DOC 页数:37 大小:1.48MB
返回 下载 相关 举报
移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc_第1页
第1页 / 共37页
移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc_第2页
第2页 / 共37页
移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc_第3页
第3页 / 共37页
移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc_第4页
第4页 / 共37页
移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc》由会员分享,可在线阅读,更多相关《移动终端流媒体播放器的设计与实现 毕业设计论文报告.doc(37页珍藏版)》请在三一办公上搜索。

1、 毕 业 设 计(论 文)题 目移动终端流媒体播放器的设计与实现专 业计算机科学与技术学生姓名班级学号指导教师指导单位 日期:摘 要随着科技的日新月异,流媒体技术的发展已经达到了从量变到质变的关键时刻,流媒体必将成为个人电脑的网络设备的主流,并且对人们的日常生活以及媒体传播有着极其巨大的影响。为了开发出更好的播放器,销售商们付出了巨大的努力。技术和计算机技术的迅猛发展, 使得人们对手持设备的应用有了更高的要求, 人们已 不满足于简单的通话, 收发短信等 基本功能, 而更多的是要求有多媒体应用, 能利用手 机进行上网冲浪, 3D游戏, 播放视频等。即将来临的第三代无线网络将 会提供从每秒几百 K

2、 bit 到几兆 bit 不等的数据传输率, 从而将 会有足够的带宽来传输实时视频信号和高质量的音频信号, 并允许下载大量的应用和服务软件。本文简单介绍了流媒体的相关概念以及流媒体技术原理并实现了一个代码主要使用SUN提供的JAVA媒体框架(JMF)包的功能来实现媒体播放功能的简单的FMPlayer流媒体播放器的实例。关键词:流媒体,流媒体播放器,需求分析,流程图,JAVA,媒体框架,JMF,FMPlayerABSTRACTAlong with technical changing with each new day, streaming media technology the develo

3、pment already to achieve from the quantitative change to the qualitative change critical moment, streaming media to will certainly to become the personal computing the network equipment mainstream, and has the extremely huge influence to peoples daily life as well as the media dissemination. In orde

4、r to develop a better player, the sellers have made the huge effort.Technology and the rapid development of computer technology, makes it to the handheld device,applications with higher demands, people no longer satisfied with simple calls, send and receive text messages and other basic functions, b

5、ut more is asking for multimedia applications, can use mobile phones for Internet surfing, 3D gaming, playing videos. The upcoming third-generation wireless networks will provide from a few hundred K bit to several megabytes per second bit rate data transmission range, which will have enough bandwid

6、th to transmit high-quality real-time video signals and audio signals, and allow to download a large number of software applications and services. This article introduced simply streaming media the related concept as well as streaming media technology principle, and realized a code mainly to use JAV

7、A which SUN provided a media frame (JMF) package of function to realize media broadcast function simple FMPlayer to streaming media player the example.Key words:Streaming media;Streaming media player;Demand analysis;Flow chart目 录第一章 引言61.1流媒体及其相关概念61.1.1什么是“流”?61.1.2何为流媒体?61.1.3流媒体技术61.1.4流媒体播放61.1.

8、5移动流媒体简介71.1.6移动流媒体的技术特征71.2手机操作系统的介绍81.2.1Symbian OS简介81.2.2Linux OS简介91.2.3Windows Mobile OS简介91.2.4Palm OS简介101.3Series60简介101.4文章组织结构10第二章 J2ME程序开发基础12.1 J2ME技术12.1.1 J2ME技术简介12.1.2 J2ME和Java其他两个版本的对比12.2 J2ME的体系构架22.2.1J2ME总体结构22.2.2Java虚拟机32.2.3J2ME配置42.2.4J2ME简表52.3 J2ME程序开发的设计流程72.4本章小结8第三章

9、移动终端流媒体的相关技术分析93.1流媒体技术原理93.2流式传输的过程93.3流式传输的协议103.3.1实时传输协议RTP、RTCP103.3.2实时流协议RTSP113.3.3资源预订协议RSVP113.4流媒体系统的分析与设计113.4.1客户端的实现133.4.2MIDLET主程序的设计与实现143.4.3播放文件判断的设计与实现153.4.4网络连接等待界面的设计与实现153.5本章小结15第四章 移动终端流媒体播放器的设计与实现164.1流媒体技术简介164.2手机终端流媒体播放器系统的分析与设计164.3 播放器实现的需求分析174.3.1连接文件174.3.2播放文件174.

10、3.3断开连接184.4移动流媒体播放器的主要流程设计184.4.1流程图184.4.2工作流程描述194.5流媒体播放器的总体设计204.6 测试224.7本章小结23结束语24致 谢25参考文献26第一章 引言1.1流媒体及其相关概念1.1.1什么是“流”?流媒体的“流”指的是流媒体数据的网络传输方式和播放方式,是对在网络上传输的特别的编码数字媒体内容如音频、视频、图形、照片和文件到最终用户的一种描述。事实上,只要是用流服务器通过网路向用户计算机连续、实时传送数据包,用户就能够立即、不中断播放,并且不需要固定的存储空间到最终用户的磁盘上,我们都可以称之为流。当特定的流媒体服务器在发送数据时

11、,不管是声音、视频还是其他格式的媒体文件,总是将一个文件分成多个较小的部分,依次将它们发送到用户端。1.1.2何为流媒体?流媒体是指在网络中使用流方式传输技术的连续时基媒体,即流媒体是用流方式控制在网络上传输的基媒体。基媒体就是音频文件和视频文件等媒体文件。其实流媒体是从英文Streaming Media中直译过来的,其基础是多媒体通信技术。流媒体通常包括视频流和音频流两部分。其中视频流占主要带宽是传输的主要困难。因此,流媒体系统也常称为视频流系统,其中包含了音频数据。1.1.3流媒体技术流媒体技术具体来讲,就是把连续的影像和声音放在网络服务器上,通过因特网让浏览者一边下载一边观看、信息经过压

12、缩处理后放到流媒体网收听,而不需要等到整个多媒体文件下载完成就可以即时观看的技术。流媒体技术实现了边传输、边下载、边播放的过程。只需经过几秒的启动延时即可在用户计算机上利用相应的播放器进行播放和观看,甚至可以随时地进行暂停、快进、快退等操作。使用流媒体技术后,一个Web用户无需在观看视频或听声音前先耗费大量时间苦苦等待下载一个大文件,而是由网络媒体以一种恒定的速率发送,具有一边到达一边显示的优势,节省了大量的存储空间,重要的是用户不必将所有下载的数据都同时存储在本地存储器上,从而也节省了大量的磁盘空间1.1.4流媒体播放流媒体播放器是一个与网络接口结合在一起的传送流媒体数据包的应用软件和显示最

13、后节目的音频装置。从原理上讲,凡是有屏幕和扬声音的数字设备均可以成为流媒体播放器。目前,几乎所有的流媒体播放器均采用PC机,此类播放器就是在PC机上下载流媒体播放器软件,利用PC机强大的处理能力和大容量存储器实现流媒体信息的播放。播放器的工作就是缓冲数据包,确认它们顺序的正确,然后打开数据包,对数字净荷解压缩,接下来把原始视频和音频数据描述到显示缓冲器(一种用显示驱动向计算机屏幕提供内容的存储器),并将数据发送到声卡上的音频数-模转换器,播放器确保数据连续由输入端流向呈现设备。如果连续数据流被打断,播放器会采用纠正措施,如暂停、重复帧、绘制较粗糙的画面,呈现低宽带音频信号或再缓冲。播放器还可以

14、要求数据重发,不过多数播放器只能对错误复原一次,很少有问题出现之前就能避免播放中断的解决方案1.1.5移动流媒体简介流媒体最先出现在固定互联网络。目前在网络上传输音视频等多媒体信息的方法主要采用下载和流式两种传输方案。对于下载方案而言,由于大文件往往需要大量的存储容量,同时受到网络带宽的限制,下载常常会花数分钟甚至数小时,延迟很大。对于流式传输而言,声音、影像或动画等文件边下载边播放,当声音等时基媒体在客户机上播放时,文件的剩余部分在后台从服务器内继续下载,不仅使启动延时呈十倍、百倍地缩短,而且也不需要太大的缓存容量,避免了用户必须等待整个文件全部从网上下载后才能观看的缺点。流媒体是流式传输支

15、持的业务。在无线网络,流媒体业务主要面向cdma2000、GPRS/EDGE、UMTS等提供较高带宽(100kbps以上)的无线分组网络,可根据流媒体源的不同分为视频业务和音频业务。目前,基于有线的VOD、AOD业务,已经受到了用户的广泛欢迎。在无线网络,空中接口带宽的增加为流媒体业务的开展提供了良好的基础,结合无线系统不受时间、地点限制的特点,使得移动流媒体业务更具吸引力。基于流媒体的业务应用非常广泛,如世界杯精彩进球片段回放、移动商务的股指和期指回放、电影精彩片断欣赏、流行音乐欣赏等,同时通过视频卡进行视频、音频源的采集,还可进行节目的直播,电视、CD等节目源的实时播放。移动流媒体业务可为

16、移动用户提供在线不间断的声音、影像或动画等多媒体的播放,用户无须事先下载到本地,支持的媒体格式包括Mov、MPEG4、MP3、wav、avi、au、Flash等,可以播放音频、视频以及混合媒体格式。移动流媒体可以提供视频点播、视频直播、音频点播、音频直播等业务,内容包括电视、录像、娱乐信息、体育频道、音乐欣赏、新闻、动画等。1.1.6移动流媒体的技术特征实现流媒体的关键技术是流式传输。流式传输的定义很广泛,主要是指通过网络传送媒体(如视频、音频)的技术总称。流式传输分为顺序流式传输和实时流式传输。顺序流式传输采用顺序下载方式,在下载文件的同时用户可观看在线节目,在给定时刻,用户只能观看已下载的

17、那部分,而不能跳到还未下载的部分,这种方式不像实时流式传输那样,可以在传输期间根据用户连接的速度进行调整。顺序流式传输不适合长片段和有随机访问要求的视频节目,如讲座、演说和演示等,它也不支持现场广播。严格地说,它是一种点播技术。实时流式传输可保证媒体信号带宽与网络连接匹配,可实时观看节目。实时流与HTTP流式传输不同,它需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可对观看内容进行快进或后退。理论上,实时流一经播放就不可停止,但可进行周期暂停。流式传输模式一般会使用RTP/UDP、RTSP/TCP两种通信协议与A/V(Audio/Video)

18、Server建立联系,将服务器的输出重定向到一个运行A/V Player程序所在客户机的目的地址。如图1所示,流式传输系统一般都要配置一套专用的服务器和播放器。1.2手机操作系统的介绍目前主流的手机操作系统主要有以下四种:Symbian公司的Symbian OS,微软的Windows Mobile,Palm以及Linux等。图1.1 手机操作系统市场占有率图1.1显示出目前手机操作系统中Symbian OS占了63.2%,Windows Mobile占了5.4%,Linux占了30.3%,Palm占了0.7%。显然SymbianOS在市场上占有率最高,其次是Linux。1.2.1Symbian

19、 OS简介Symbian公司的前身是psion,该公司创立于1980年,是当时欧洲连线的技术公司,一直致力于数字产品开发和研究。同时Psion也是欧洲第一批主要的PDA厂商。EPOC则是Psion Software推出的操作系统,专门用于移动信息设备包括掌上电脑。“EPOC”这个词起源于世界将会进入“a new epoch of personal convenience”。1998年6月,Psion公司联合手机业界巨头诺基亚,爱立信,摩托罗拉和三菱组建了Symbian公司。该公司继承了Psion公司对EPOC操作系统软件的授权,并且致力于为移动信息设备提供一个安全可靠的操作系统和一个完整的软件

20、及通讯器平台。1999年,松下公司加入Symbian。2000年,世界上第一款采用Symbian操作系统的手机Ericsson8380成功上市,同年,索尼公司和三洋公司获得了Symbian的授权。2001年,富士通公司获得了Symbian的授权,诺基亚公司推出了Nokia7650基于Symbian操作系统的2.5G手机,同时,Nokia9210开始公布发售。2002年,西门子公司与索尼爱立信公司入股Symbian,Sendo公司获得了Symbian的授权。NTT DoCoMo发布3GFOMA F2051手机。Symbian发布第一个用于3G系统的手机操作系统Symbian OS v7.0OS的

21、手机。同年,三星公司成为Symbian的股东之一。2004年,已经发布的采用Symbian OS的手机包括Panasonic X700,Motorola A1000,Nokia9500,7610和N-Gage QD,SamsungSGH-D710。Arima公司与LG电子获得了Symbian的授权。同时,联想公司决定将Symbian操作系统用于他们最近的手机产品中,而Symbian随着手机的发展得到了越来越多的市场。在目前手机操作系统的争夺中,Symbian市场占有率达到了70%,是当之无愧的老大,而Linux和其他操作系统一共只有的30%份额。Symbian公司自1999年3月推出了Symb

22、ian5.0操作系统后,相继发布了Symbian6.0,Symbian6.1,Symbian7.0,Symbian8.0,Symbian9.0共六个版本,每一次版本的升级,系统在稳定性,操作性和功能上都有很大的提高。1.2.2Linux OS简介Linux操作系统的最大特点就是源代码的开发性,这也使采用该操作系统的智能手机降低了生产成本,同样由于Linux系统的开放性,在这一平台上进行JAVA技术的应用开发,也将更为容易。此外,Linux平台经过多年来的发展积累了丰富的应用软件,这些软件也会很方便地转移到手机平台上。对于我们国家来说,研究Linux手机操作系统是一个良好的契机,它使我们可以在自

23、主知识产权的操作系统上做自己的手机。随着摩托罗拉等几大手机制造商的加入,相信采用该操作系统的智能手机也会有一个很好的未来。1.2.3Windows Mobile OS简介Windows Mobile是微软开发的一个抢占式多任务并具有强大通信能力的WIN32嵌入式操作系统,它是微软设计开发的基于Windows CE系统内核并为信息设备。移动应用,消费类电子产品,嵌入式应用等非PC领域而设计的战略性操作系统产品。微软Windows Mobile衍生出了Pocket PC Phone Edition系统和Smartphone2002/2003系统,前者主要应用在一些带有手机功能的Pocket PC上

24、,基本上采用触摸屏式操作,目前最新版本是Pocket PC Phone Edition 2003SE。Smartphone的概念最早是由微软公司提出,专指采用“Stringer”操作系统的智能电话。随着智能电话操作系统的逐渐增多,Smartphone的概念扩大到任何采用该操作系统的智能电话中。2002年,微软正式推出了Smartphone2002操作系统,采用这种系统的智能电话被称为“Smartphone智能手机”。2003年年底微软公司又推出了Smartphone2003,由于Smartphone2003存在多国语言版(包括中文),在功能方面也有了更大的扩展,因此得到了广泛的支持。与其他手机

25、操作系统相比Smartphone更类似于PC在手机上的延续,所以我们有时也把它称作“手机电脑化”。1.2.4Palm OS简介Palm OS是Palmsource公司自主研发的一个32位的嵌入式操作系统,它主要应用于掌上电脑。采用Palm OS的掌上电脑对硬件配置要求不高,因此采用Palm OS的掌上电脑产品体积通常比较小巧。另外,Palm掌上电脑的电池使用时间通常是比较长的。由于Palm OS是最早应用在掌上电脑的操作系统,所以它也是现在比较完善,并拥有最多应用软件支持的操作系统。Palm OS的最大优点就是简单易用,占用系统资源少,由于其开发商实力的局限和缺乏硬件厂商的有力支持,使得Pal

26、m OS在智能手机操作系统的市场争夺着那个处于了弱势地位。1.3Series60简介Symbian OS系统按照人机界面交互大致可以分为Series60,Series80,Series90和UIQ。对应的Nokia手机产品线则分为Series40,Series60,Series80。Series 60 平台是在Symbian OS之上进行构建的,通过可配置的图形化用户接口库,全面地应用程序套件以及其它通用引擎进行了补充。Series 60是一个完全智能手机的参考设计。正是由于它有如此多的优点而越来越被嵌入式开发人员所青睐,可以想象在其完全开源之后将会有更为广阔的应用前景,它将不再仅仅用在智能手

27、机之上,而是作为一个嵌入式操作系统而被移植到其它的设备上,如GPS、PDA等。而目前从事的主要是在这个平台上开发应用软件。1.4文章组织结构本论文共分为四章,具体安排如下:第一章 引言。简要介绍了本课题的相关背景,并给出了本论文的组织结构;第二章 J2ME程序开发基础。本章主要介绍了J2ME技术的基础知识,简要讲解了J2ME总体结构中的虚拟机,配置,简表等,最后给出了J2ME程序设计的一般流程;第三章 移动终端流媒体的相关技术分析。本章简要的介绍了移动终端流媒体的概念,原理以及流媒体的部分关键技术。第三章 移动终端流媒体播放器的设计实现。本章详细介绍了本移动终端流媒体播放器的开发过程。 毕业设

28、计(论文)第二章 J2ME程序开发基础J2ME即Java 2 Platform Micro Edition,是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化,多样化提供了革命性的解决方案,并因其“Write Once,run anywhere”的Java特性而提高开发的效率。2.1 J2ME技术2.1.1 J2ME技术简介J2ME是Sun公司的Java 2平台微型版,和Java SE,Java EE一起构成了Java平台并驾齐驱的三驾马车。Sun Microsystems将J2ME定义为“一种以广泛的消费性产品为目标

29、的且高度优化的Java运行时环境,包括寻呼机,移动电话,可是电话,数字机顶盒和汽车导航系统。”J2ME具备Java平台的各种优点:平台无关,安全,分布式和高度的可移植性。J2ME平台被认为是最杰出的手机游戏平台,它为开发者,设备制造商,网络通信公司和消费者广泛接受。2.1.2 J2ME和Java其他两个版本的对比目前Java所划分的版本及其针对的设备如图2.1图2.1 Java版本的划分和针对的设备J2EE:Java 2 平台企业版(Java 2 Platform Enterprise Edition),用于企业为客户,供应商和员工的可升级的服务器解决方案。J2SE:Java 2 平台标准版(

30、Java 2 Platform Standard Edition),用于常见的桌面计算机市场和低端商务应用提供解决方案。J2ME:Java 2 平台微型版(Java 2 Platform Micro Edition),用于消费产品和嵌入式设备的最佳解决方案。Java 2 平台各版本之间的相互关系如图2.2图2.2 J2ME,J2EE,J2SE的关系2.2 J2ME的体系构架2.2.1J2ME总体结构一个完整的J2ME构架,由上至下包括4个层次的内容:简表(Profile),配置(Configuration),虚拟机(Virtual Machine)和操作系统(Operating System)

31、,如图2.3简表(Profile)配置(Configuration)虚拟机(Virtual Machine)底层操作系统(Operating System)图2.3 J2ME总体构架J2ME使用简表和配置定制Java运行时环境(JRE)。作为一个完整的JRE,J2ME由配置和简表组成,配置决定了使用的JVM,而简表通过添加特定的于域类来定义应用程序。J2ME的JRE最底层包括虚拟机(VM)和类库两部分,这一层与设备层(硬件及操作系统)关系密切,由SUN提供参考规范和源代码,设备厂商根据设备特征进行相应的移植。在虚拟机之上的是配置层。具体到J2ME MIDlet构架,如图2.4,配置将基本运行时

32、的环境定义为一组核心类和一个运行在特定类型设备上的特定JVM。当前J2ME提供两个配置:CDC配置和CLDC配置,分别针对前面所介绍的两种类型的设备。MID简表(MID Profile)CLDC配置(CLDC Configuration)KVM(K Virtual Machine)底层操作系统(Operating System)图2.4 J2ME MIDlet构架配置层之上的是简表层(Profile),再之上则是应用层(Application)。简表定义应用程序向J2ME配置中添加特定于域的类,定义设备的某种作用。简表层扩展了配置层功能,为上层应用提供API。如果说配置层面向设备,简表层则面向

33、应用。可以根据需要在CDC或CLDC基础之上提供多种简表,一个配置层之上也可以有多个简表。当前CDC之上有基础简表(Foundation Profile)和基于FP的Personal Profile和RMI Profile。CLDC只上个则主要提供移动通信设备简表(MIDP),即用于手机,PDA等移动终端的设备简表,提供API以支持无线应用的开发。2.2.2Java虚拟机Java虚拟机是Java平台无关性的关键技术。一般而言,高级程序语言要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行就不需要再进行编译了。因为Java虚拟机屏蔽了与平

34、台相关的信息,使得Java语言编译程序只要生成在Java虚拟机上运行的目标代码就能在不同平台上进行运行,而不必再进行编译修改。Java 2的三个版本中J2SE和J2EE用的虚拟机称作JVM,而J2ME主要针对无线设备和嵌入式消费电子设备,所以受到设备的内存和处理器等因素的限制,它使用的虚拟机相对于J2SE和J2EE的虚拟机做了相当的裁剪,功能也相对简单一些。J2ME中使用的虚拟机分为CVM和KVM两种,它们都是JVM的子集。CVM应用于那些瘦客户端,如数字机顶盒,车载电子系统等;KVM应用于那些电池供电的手持移动设备,如移动电话,PDA等。图2.4中划分了Java 2各平台所对应的虚拟机。图2

35、.4 J2ME,J2SE,J2EE的虚拟机2.2.3J2ME配置配置是指将基本运行时环境定义为一套核心类和一个运行在特定类型设备上的特定的JVM。目前,J2ME中有两种最主要的配置,分别是CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)。他们是根据设备的硬件性能进行区分的,包括处理器,内存容量等。(1).CLDC连接限制设备配置(Connected Limited Device Configuration)的官方定义是这样的:“亲便,覆盖区域最小的Java构建块,适合小型的有资源限制

36、的设备。”所以CLDC是为运行在资源非常有限的设备商的Java ME应用程序制定的构架,致力于低端的消费类设备,典型的例子包括个人的,移动的,电池供电的,互联的信息设备像手机,双向传呼机和个人信息管理器等。CLDC简要描述了高度受限的设备上每个J2ME执行所要求的一套最基本的库和Java虚拟机特征。CLDC主要面向那些网络连接速度慢,电能有限(电池供电),128KB-512KB内存的设备。非稳定内存中的内容是持久的,并且有写保护。CLDC中包含了简化版的java.lang,java.io,java.util和专门为Java ME加入的Java.microedition.io包。(2).CDC连

37、接设备配置(Connected Device Configuration)应用在具有较大内存,特别是2MB以上的设备上,其内存可以是RAM,ROM或是Flash,致力于高端的消费类设备,典型例子包括共享的,互联的信息设备如电视机机顶盒,Internet电视和端的通信设备。CDC的虚拟机被称为CVM(compact VM)。CDC与CVM和Foundation Profile共同定义了完整的J2ME环境。图2.5显示了CDC,CLDC和J2SE之间的关系。由图可见,CLDC是CDC的一个子集,CDC和CLDC都删减了J2SE的部分内容并对J2SE做了必要的扩充。 图2.5 J2SE,CDC与CL

38、DC之间的关系CLDC类库一部分来自J2SE,这部分类库是经过裁剪的,去除了不必要的功能。其专有类库则主要是“通用连接框架(GCF)”,为CLDC提供网络连接功能。CDC类库则是CLDC的超集,因此为CLDC开发的应用程序可以移植到CDC平台。2.2.4J2ME简表简表被构建在配置的顶部。每一种简表被设计成适应某种类型设备的形式,即定义了所支持设备的类型。例如,移动信息设备简表(MIDP)定义了蜂窝电话的类。它把一些特定于域的类加入J2ME配置中来定义对类似设备的使用。在J2ME中,已经定义好了两个简表:KJava和MIDP。(1).KJavaKJava简表建立在CLDC之上,其虚拟机是KVM

39、。当Sun为Plam开发第一个KVM时,需要一组类来开发Palm的演示程序。这套类库被封装在com.sun.kjava软件包中。在早期的开发中,这些类被广泛的用来测试和演示J2MD。因为KJava是唯一的允许应用程序开发者使用的以J2ME和KVM开发应用程序的类,所以它就被广泛的使用了。甚至到了今天,用于PDA或更特殊一点的Palm的简表多已经在开发中,许多开发者仍然希望使用KJava类来开发PDA应用程序。虽然它不是一个标准的J2ME软件包,使用这个API,必须要包含它的主软件包com.sun.kjava,而且它也仅仅被用于设计测试程序或演示程序,但是开发者们仍然热衷于使用它来进行开发。(2

40、).MIDP移动信息设备简表同KJava一样,也是建立在CLDC之上,是目前J2ME平台中发展相对最成熟,最广为人知的简表。MIDP是专为诸如移动电话和寻呼机等移动设备而定义的相关类的一组集合,提供一个标准的运行环境,允许在终端用户设备上动态的部署新的应用程序和服务。MIDP是一个公共的,为移动设备设计的工业标准简表,它不依赖于任何具体的生产厂家。对于移动应用程序开发来说,它是一个完整的,受支持的基础。MIDP1.0对应着JSR37,对游戏和多媒体的支持很弱;MIDP2.0对应着JSR118.,其中增加了诸如按键状态查询,主动渲染和基本的声音支持。MIDP规定了一些需要支持的具体网络协议类型:

41、1.0支持HTTP,2.0补充了Socket,UDP,逻辑串口,HTTTPS,TLS,SSL等。MIDP类库建立在CLDC类库基础之上,因此许多类都来自J2SE。为了实现特定功能,MIDP增加了一些新的类库,总结如图2.6所示图2.6 MIDP类库中的包类总结MIDP是标准的简表,不依赖任何具体的生产厂家,而KJava不是完整的,功能齐全的简表,只能作为一种示范,因此,MIDP终将取代KJava。2.3 J2ME程序开发的设计流程J2ME开发程序流程如图2.7所示:图2.7 J2ME程序开发流程图J2ME程序开发步骤大致归纳如下:(1).编写Java源代码。在编辑器里面编写代码,既可以在一般的

42、文本编辑器里面编写,也可以在继承开发工具里面编写,这个和J2SE是完全一样的。(2).编译Java源代码。一般使用工具进行编译,实际开发中很少在命令行下面进行操作,所以初学者不必了解如何在命令行下进行编译。(3).预审核编译生成的class文件。这样做的目的主要是在运行以前预先检查和审核,减少运行时的负担并提高程序的运行速度。J2ME开发包中提供预审核的命令,在编译的时候,一般开发工具会自动进行该审核。(4).进过预审核的class文件,就可以在模拟器中运行,查看效果和进行调试,如果需要修改则重新返回第一个步骤。一般开发工具中都包含模拟器,只需要“运行”程序,开发工具就会自动启动模拟器进行运行

43、。(5).如果经过模拟器中的运行没有什么问题,就可以将程序混淆,打包后传输到手机中。如果在手机中测试也通过的话,就可以发布了,如果在手机中执行还存在问题,还要返回第一个步骤。J2ME开发最后发布的文件有以下两种:JADJava应用描述文件,用来说明应用的相关信息,如文件大小等;JAR程序和资源文件,包含所有的class文件和图片,声音等资源文件。两者都是程序发布时使用的文件,也就是最后发布给用户时分发的文件,有些手机在发布时只需要jar文件即可。2.4本章小结本章简要介绍了手机游戏解决方案J2ME技术,分析了J2ME的总体结构,重点介绍了Java虚拟机,J2ME的配置和简表,并归纳了J2ME程

44、序开发的一般流程,另外将J2ME和Java 2的其它版本进行了对比,等等。第三章 移动终端流媒体的相关技术分析3.1流媒体技术原理(1)流媒体传输的是多媒体数据,在不同的网络环境则进行不同的预处理。(2)流媒体传输的实现需要缓存,因为Internet以分组传输为基础进行断续的异步传输,对一个实时的A/V源或存储的A/V文件,在传输中它们要被分解为许多的分组,由于网络是动态变化的,各个分组选择的路由可能不同,所以到达客户端的时延也就不等,甚至先发的数据分组可能后到。因此,使用缓存系统来弥补延迟和抖动的影响,并保证分组的顺序正确,以使媒体数据能连续输出,而不会因为网络暂时的拥塞导致播放的停顿。(3

45、)流媒体传输的实现需要合适的传输协议。由于TCP需要较多的开销,因此不太适合传输实时数据。在流媒体传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTPU/DDP来传输实时声音数据。3.2流式传输的过程用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来,然后客户机上的Web浏览器启动A/V Helper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、AV数据的编码类型或与AV检索相关的服务器地址。A/V Helper程序及A/V服务器运行实时流协议,

46、以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快退、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将AV数据传输给A/V客户程序,一旦AV数据抵达客户端,A/V客户程序即可播放输出。在流式传输中,使用RTP/UDP和RTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/V Helper程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器。其基本原理图如图3.1所示:Web BrowserWeb Serverhttp/tcp meta file 定位A/V Se

47、rverA/V Player控制信息RTSP/TCP(UDP) 图3.1 流媒体传输基本原理图3.3流式传输的协议在移动流媒体技术中 ,网络协议占有十分重要的地位 ,服务器和客户端间的控制信号通过网络传输 ,同时媒体流也通过网络传输实现 。移动流媒体系统的网络协议结构如图 3.2 所示 ,其中视频、音频等流媒体数据通过 TCP/ UD P 来承载 。实时流传输协议 R TSP 是 应用层协议 , 控 制 实 时 数 据 的 发 送SD P ( Session Description Protocol , 话 描 述 协 议) 只 是 一 种用于会话描述的格式 ,它的目的是进行多媒体会话通知 、邀请和一些媒体会话的初始化工作图 3.2 流媒体系统的网络协议结构图3.3.1实时传输协议RTP、RTCPRTP(Real-time Transport Protocol)是在Internet上针对多媒体数据流的一种传输协议,工作于一对一或一对多的传输情况,可提供时间信息和实现流同步。RTP通常使用UDP来传送数据,也可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号