




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)jsr135的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的 研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明 并表示了谢意。 作者签名: 论文使用授权声明 本人完全了解复旦大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内 容,可以采用影印、缩印或其它复制手段保存论文。保密的论文在解密后遵守此 规定。 作者签名日期:幽:且1 3 摘要 摘要 j 2 m e 是j a v a 平台的三个核心版本之一,它为运行在诸如手机、p d a 等资 源受限的消费产品上的应用程序提供了健壮而灵活的运行环境,是当前手持设备 的首选平台之一。j 2 m e 的架构由“配簧”( c o n f i g u r a t i o n ) 、“描述”( p r o f i l e ) 和 “可选包”( o p t i o n a lp a c k a g e s ) 组成开发者可以对其进行选择从而构建成一个 完整的j a v a 运行环境。j s r l 3 5 是j 2 m e 平台上一个重要的可选包,提供了多媒 体的回放和控制功能,其接口集m m a p i ( m o b f i em e d i aa p i ) 为j a v a 应用在移 动设备上运行使用多媒体提供了一套简洁、规范及可扩充的a p i 。j s r l 3 5 的开 发使得手机和p d a 等小型移动设备上多媒体应用和服务的普及成为可能, j s r l 3 5 也渐渐成为这类设备上的标准配置。 o r l 即o p e nr u n t i m el i b s 是一个严格遵循s u n 公司j 2 m e 框架规范而开 发出的高性能j a v a 类库。它的开发基于一个称为x o r p 的j 2 m e 虚拟机,该虚 拟机是在原先支持j 2 s e 的开源项目o r p ( o p e nr u n t i m ep l a t f o r m ) 的基础上改 造的。x o r p o r l 系统构成了i n t e l 公司基金项目“j 2 m ec l a s sl i b sw i t hs m a l l f o o t p r i n t , l o wp o w e ra n dh i g hp e r f o r m a n c eo nx s c a l ep r o c e s s o r ”的核心组成部 分。可选包j s r l 3 5 则处于o r l 开发的第三个阶段,本文的内容即是在该阶段的 设计开发基础上完成的。 在本文中,我们提出了x o r p o r l 系统中j s r l 3 5 的一种跨平台设计方案及 其实现机制,特别地,在w i n d o w s 平台上我们还给出了可行并且高效的实现。 在该方案开发过程的各个阶段,包括目标定位、架构设计、功能实现、平台移植 等等,都做了大量细致的工作。在整个设计和实现的过程中,我们一直遵守正确 性、统一性、简洁性、可扩展性和c l e a nr o o m 的原则。总体来看,j s r l 3 5 兼具 专门性、原创性、通用性和可移植性。 首先,是j s r l 3 5 的专门性。与通用目的的多媒体处理包不同,j s r 1 3 5 是专 门在j 2 m e 框架中设计开发的多媒体处理模块。作为整个x o r p o r l 系统的一 部分,j s r l 3 5 子系统除了必须完全遵循s u n 公司的规范外还必须满足各种j 2 m e 规范对虚拟机的要求例如,j s r l 3 5 的虚拟机部分的可执行模块就必须足够的 小。 其次是j s r l 3 5 的原创性。与o r l 的其他部分如c l d c 和m i d p 相同, j s r l 3 5 的设计与实现也是白手起家的。在设计过程中,为了使j s r l 3 5 能够更加 摘要 适合在手持环境下运行,我们创造性地引入了一些技术和方法,比如在虚拟机层 我们很好地利用了i n t e l 的i p p ( i n t e g r a t e dp e r f o r m a n c ep r i m i t i v e s ) 开发包。 其三是j s r l 3 5 的通用性和可移植性,这两者关系密切。尽管j s r l 3 5 的 最初定位是以p o c k e t p c 作为目标平台的,但在设计实现的过程中,我们借鉴了 以往软件架构设计中的成熟经验,考虑进了通用性和移植性的因素,最终采用了 分层次的架构模型,并极大地利用了支持多平台的多媒体开发包i p p ( i n t e l i n t e g r a t e dp e r f o r m a n c ep r i m i t i v e s ) 。这些方法能够将对底层硬件设备的依赖性最 小化和局部化,从而使j s r l 3 5 具有最大的跨平台通用性,同时大大方便了之后 的移植工作。 关键字 j s r l 3 5 ,m m a p i ,j 2 m e ,c l d c ,m i d p ,j a v a 虚拟机,x o r p 。o r l ,i p p , w i n d o w sc e ,p o c k e tp c ,w a v e o u t ,m i d i o u t ,d i r e c t s h o w 中图分类号 t p 3 l i 1 :程序设计,t p 3 1 9 :专用应用软件 摘要 a b s t r a c t j 2 m ei so n eo ft h et h r e em a j o rv e r s i o n so f j a v ap l a t f o r i l l s i tp r o v i d e sr o b u s ta n d f l e x i b l er u n t i m ee n v i r o n m e n tf o ra p p l i c a t i o n sr u n n i n go nr a s o u o el i m i t e dd e v i c e ss u c h c e l l p h o n e sa n dp d a s s oj 2 m ei st h ep l a t f o r mo fc h o i c ef o rt o d a y sh a n d h e l d d e v i c e s t h ej 2 m ea r c h i t e c t u r ec o n s i s t so fa v a r i e t yo fc o n f i g u r a t i o n s ,p r o f i l e s ,a n d o p t i o n a lp a c k a g e st h a ti m p l e m e n t e r sa n dd e v e l o p e r sc a nc h o o s ef r o m ,a n dc o m b i n e t o c o n s t r u c tac o m p l e t ej a v am n t i m ee n v i r o n m e n t w i t h i nj 2 m e ,j s r l 3 5i sa n i m p o r t a n to p t i o n a lp a c k a g et h a ts u p p o a sp l a y b a c ka n dc o n t r o lo fm u l t i m e d i a m m a p ip o r v i d e sac o n c i s e s t a n d a r da n de x t e n s i b l es e to fa p i sf o ra c c e s s i n g m u l t i m e d i ao nm o b i l ed e v i c e s t h ed e v e l o p m e n to fj s r l 3 5m a k e sp o s s i b l et h e p o p u l a r i z a t i o no fa p p l i c a t i o n sa n ds e r v i c e so fm u l t i m e d i ao nh a n d h e l dd e v i c e s t h e r e f o m ,j s r i3 5i sb e i n go n es t a n d a r dc o n f i g u r a t i o no nt h e s ed e v i c e s o r l ( o p e nr u n t i m el i b s ) i sah i g h - p e r f o r m a n c ej a v ac l a s sl i b st os t r i c t l ym e e t s u n sj 2 m es p e c i f i c a t i o n s t h ed e v e l o p m e n to f o r li sb a s e do nx o r p , aj 2 m ev m ( v i r t u a lm a c h i n e ) t r a n s f o r m e df r o ma no p e ns o u r c ej 2 s ev mn a m e do r p ( o p e n r u n t i m ep l a t f o r m ) b o t ho r la n dx o r p 批e s s e n t i a lp a r t so fap r o j e e tc a l l e d j 2 m ec l a s sl i b sw i t hs m a l lf o o t p r i n t , l o wp o w e ra n dh i 【g hp e r f o r m a n c eo n x s c a l ep r o c e s s o r ,f u n d e db yi n t e lc o r p j s r l3 5 ,髂a ni m p o r t a n to p t i o n a lp a c k a g e i s i nt h et h i r dp h a s eo fo r l sd e v e l o p m e n t t h i sp a p e ri sb a s e do ni t sd e s i g na n d i m p l e m e n t a t i o n i nt h i sp a p e r , w ep r e s e n ta c r o s s p l a t f o r md e s i g na n di m p l e m e n t a t i o no fj s r l 3 5 i n x o r p o r l s y s t e m ,a n dp a r t i c u l a r l y , w e i n t r o d u c ei t sf e a s i b l ea n d h i g h - p e r f o r m a n c ei m p l e m e n t a t i o no nw i n d o w sp l a t f o r m s w eh a v ed o n em a s s i v ea n d i n t e n s i v ew o r ki ne a c hp h a s eo ft h i sp r o j e c t ,i n c l u d i n gt a r g e to r i e n t a t i o n ,a r c h i t e c t u r e d e s i g n ,i m p l e m e n t a i o na n ds y s t e mp o r t i n g w ea l w a y s s t i c kt o p r i n c i p l e s o f c o f r c c t n e s s ,u n i t y , c o n c i s e n e s s ,e x t e n s i b i l i t ya n dc l e a nr o o m i ng e n e r a l ,j s r l 3 5 o w n st h ef e a t u r e so f s p e e i a l i t y , o r i g i n a l i t y , g e n e r a l i t ya n dp o r t a b i l i t y f i r s t ,j s r l 3 5i sas p e c i a l i z e dm u l t i m e d i ap a c k a g e u n l i k et h eg e n e r a lp u r p o s e d m u l t i m e d i ap a c k a g e j s r l 3 5i sd e s i g n e df o rm u l t i m e d i ap r o c e s s i n gm o d u l ew i t h i n j 2 m ea r c h i t e c t u r e a s p a r to fx o r p o r ls y s t e m j s r i3 5 h a st om e e tt h e r e q u i r e m e n t sf r o ma l lt h es p e c i f i c a t i o n sf o rj 2 m ev m ,b e s i d e ss u n 。ss p e c i f i c a t i o nf o r , i t sj a v ap a r t f o re x a m p l e ,t h es i z eo ft h ee x e c u t a b l em o d u l eo fj s r l 3 5 sv mp a r t s h o u l db ev e r ys m a l l s e c o n d 。j s r l 3 5i sam u l t i m e d i as o l u t i o nw i t ho r i g i n a l i t yi nx o r p o r ls y s t e m j u s tl i k eo t h e rp a r t so fo r l s u c h 豁c l d ca n dm i d p , j s r i3 5i sa l s od e s i g n e da n d i m p l e m e n t e df r o ms c r a t c h w eh a v ei n c o r p o r a t e dm a n yd i f f e r e n tf e a t u r e si n t oj s r l 3 5 t om a k ei tm o r es u i t a b l ef o rr u n n i n gi nh a n d h e l de n v i r o n m e n t f o re x a m p l e ,w em a k e p l a u s i b l eu s eo f i n t e li p p ( i n t e g r a t e dp e r f o r m a n c ep r i m i t i v e s ) i nj s r l 3 5 sv mp a r t t h i r d ,j s r i3 5i sam u l t i m e d i as o l u t i o nw i t hg e n e r a l i t ya n dp o r t a b i l i t y a l t h o u g h t h eo r i g i n a lt a r g e tp l a t f o r mo fj s r l 3 5w a sp o c k e tp c ,j s r l 3 5i ss t i l ld e s i g n e dw i t h t h ec o n s i d e r a t i o no fg e n e r a l i t ya n dp o r t a b i l i t y r e f e r r i n gt os u c c e s s f u le x p e r i e n c e f r o mp r i v i o u sd e s i g no fs o f t w a r ea r c h i t e c t u r e w ea d a p tam u l t i - l a y e r e dm o d u l ei n j s r i3 5t oi s o l a mi t s d e p e n d e n c yo nh a r d w a r e ,w h i c hp r o v e st o b eaw i s e m e t h o d o l o g yl a t e ri nt h ep o r t i n gs t a g e ,a n df i n a l l yg r a n t sj s r l 3 5t h el a r g e s t c r o s s - p l a t f o r mg e n e r a l i t ya n dp o r t a b i l i t y k e y w o r d j s r l 3 5 ,m m a p i ,j 2 m 【e ,c l d c ,m i d p ,j a v av i r t u a im a c h i n e ,x o r p , o r l ,i p p ,w i n d o w sc e ,p o c k e tp c ,w a v e o u t ,m i d i o u t 。d i r e e t s h o w c h i n e s el i b r a r yc l a s s i f i c a t i o n t p 3 1 1 1 :p r o g r a md e s i g n i n g tt p 3 1 9 :c u s t o m i z e d a p p l i c a t i o ns o t i w a r e 6 摘要 项目背景 引言 i n t e 公司的基金项目“j 2 m ec l a s sl i b sw i t i ts m a l lf o o t p r i n t l o wp o w e ra n d h i 曲p e r f o r m a n c eo nx s c a l ep r o c e s s o r ,是一个以x o r p 作为j a v a 虚拟机平台。 在其上开发高性能j 2 m e ( j a v ap l a t f o m ,m i c r oe d i t i o n ) 类库o r l ( o p e nr u n t i m e l i b ) 的项目,其目标平台包括w i n 3 2 、w i n d o w sc e ( w i n c e ) 、p o c k e tp c ( p p c ) 和l i n u x 。j s r l 3 5 是j 2 m e 类库的一个重要组成部分,提供给用户基于时域多媒 体播放的众多功能。o r l 作为符合j 2 m e 规范要求的类库,实现了j s r l 3 5 规范, 同时x o r p 也为o r l 中j s r l 3 5 功能部分提供了全面和高效的支持,使得多媒 体的播放和控制能够达到高效、低耗的设计目标。 j 2 m e 框架与j s r l 3 5 j 2 m e 是j a v a 的一个子集,是s u n 公司针对硬件处理能力相对较弱、电源功 耗也有限的移动通讯设备、嵌入式设备或消费性电器所推出的j a v a 平台,其上 的规范层从下往上依次为:虚拟机层( v m ) 、配置层( c o n f i g u r a t i o n ) 、描述层 ( p r o f i l e ) 和可选包层( o p t i o n a lp a c k a g e s ) 。对于内存、处理能力、电池寿命、 显示屏大小和网络带宽等资源高度受限的小型移动设备如移动电话和小型p d a 等,s u n 公司对这些层次所做的规范分别为千字节虚拟机k v m 、c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) 、m i d p ( m o b i l ei n f o r m a t i o nd e v i c e p r o f i l e ) 和多个o p t i o n a lp a c k a g e s 。c l d c 定义了一个j a v a 虚拟机的特性与j a v a 类库的最小子集,提供了开发人员一个最基础最核心的j a v a 平台。m i d p 提供了 包括用户界面、网络连接、永久存储和应用程序生命周期管理等在内的功能。 c l d c 和m i d p 合在一起提供了一个标准的运行时环境。o p t i o n a lp a c k a g e s 是一 组供选择实现的j a v a 包,如s e c u r i t y 相关的j s r l 7 7 ,3 dg r a p h i c s 相关的j s r l 8 4 和多媒体相关的j s r l 3 5 等。j s r l 3 5 ( m m a p i1 1 ) 基于c l d c l 1 和m i d p 2 0 ( j s r1 1 8 ) ,提供给用户基于时域多媒体播放的众多功能。 摘璺 图a - i j 2 m e 的体系架构 j s r l 3 5 的开发使得手机和p d a 等小型移动设备上多媒体应用和服务的普及 成为可能。接口集m m a p i ( m o b i l em e d i aa p i ) 在j s r l 3 5 中被定义,为j a v a 应用在移动设备上运行使用多媒体提供了一套简洁、规范及可扩充的a p i 。它依 据小型移动终端的各种特性来设计,满足了处理能力低、内存容量小、屏幕小、 无线连接带宽窄和连接速度慢等小尺寸要求,允许一些简单的基于时域多媒体的 访问和控制,主要支持的媒体格式为w a v e 、m p 3 、m p e 9 4 、m i d i 和t o n e 等,可 用的服务主要有图像音频视频的交换、交互式的在线游戏、拍照、流媒体播放、 音频视频会议以及各种新型应用与服务。 x o r p 与o r l 开放式运行平台o r p ( o p e nr u n t i m ep l a t f o r m ) ,是由i n t e l 公司开发的一个 开放源码的研究项目。它是一个高性能的可控制运行环境软件,是用来研究垃圾 收集和动态编译技术的开放资源研究平台。它支持执行类型安全字节码,能够运 行j a v a 程序,我们可以将其视作一种j a v a 虚拟机的实现。在原o r p 的基础上, 针对移动手持设备这一平台的特殊性,我们做了功能模块上的替换和增减,从而 获得了一个符合j 2 m e 规范标准的虚拟机x o r p ,作为开发j 2 m e 类库的基本软 件环境。 o r e , 就是我们在x o r p 之上,严格遵循s u n 公司j 2 m e 框架规范,开发出 的高性能j a v a 类库。开发过程中我们严格遵循了c l e a nr o o m 的原则。整个 x o r p o r l 系统与前文介绍的j 2 m e 框架的关系如图a 2 所示。 摘要 o p 衄a l p h g e 。 f 习f 习 m j d p 2 _ o c u 】c 1 i j a v a 盛掇帆 本地摊行系缝 奠:故踺备 o r l x o r p p p c ,s m a r i p h o 孵,e m b = d d c dl i n u x p d a j s m a r tp h o 脾 ; 幽a - 2 :x o r p o r l 系统对应于j 2 m e 框架的关系 0 r l 的开发过程分为三个阶段。第一阶段是针对j 2 m e 框架中的c l d c “配 置”,开发相应的j a v a 类库;第二阶段是在c l d c 的基础上,开发符合m i d p “描 述”规范的j a v a 类库;第三阶段则是在c l d c m i d p 的基础上,迸一步开发其 他可选包功能,如j s r l 3 5 和j s r l 8 4 。本文的内容是在第三阶段的设计开发基础 上完成的。 本文的目的和应用意义 j 2 m e 技术在1 9 9 9 年的j a v a o n e d e v e l o p e r c o n f e r e n c e 大会上正式推出,它 将j a v a 语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之 间共享应用程序。随着手机和p d a 等嵌入式设备的日益普及,j 2 m e 技术也得 到了广泛的应用和全面的发展,其功能已经从简单的拨打电话、发送短信扩展到 3 d 游戏、多媒体的播放和控制等。目前,带m p 3 及摄像头的手机为主流。份额 能够达到4 0 5 0 以上。带m p 3 及多媒体m p 4 播放功能,和高像素照相及摄 像功能的音乐拍照手机,正在成为当前的标准配置。 在多媒体播放和控制领域,在当前世面上存在着大量的不同媒体格式( 如 w a v e ,m i d i ,t o n e ,m p 3 ,m p e 9 4 等) ,并且还有许多新的媒体格式即将被建 立。为了存储和传输这些不同的媒体格式,还存在着了许多不同格式的存储设备 和传输协议,例如大家常使用的媒体存储设备( 如c d 、v c d 以及d v d ) ,有 线传输协议( 如u d p 、h r r p ) ,无线传输协议( 如w a p ) 。移动设备也是种 类繁多,有仅支持单音播放的手机,也有高端的支持音频和视频的p d a 。为了 i - i 摘要 使这些移动装置能够访问和控制这些不同格式的媒体数据,必需为其设计一个规 范化的、强大的和可扩充的应用接1 2 1 。m m a p i ( j s r l 3 5 ) 就提供了一套较为规 范的播放和录制音频或视频接1 2 1 ,用来表现和获得以时间为基础的媒体。并且它 被设计成灵活的和平台无关的,它没有对媒体格式、协议或者在未来不同设备支 持的特征作任何假设。m m a p i 已经在移动设备上使用,例如,n o k i a 3 6 5 0 就包 含了一个实现。 x o r p o r l 作为一个j 2 m e 解决方案,我们也希望其能实现j s r l 3 5 的诸多 功能。在设计和实现方面,有以下几点必须注意的因素: 其一:j s r l 3 5 作为j 2 m e 的可选包,其定义的类和接口都是平台无关的。 所以,覆盖了j s r l 3 5 的x o r p o r l 系统。也应该是一种跨平台的设计方案,即 用户在o r l 上编写j 2 m e 应用程序的时候,不应该涉及平台相关的东西,o r l 本身也不包含平台逻辑;平台逻辑在x o r p 中得到实现。 其二:移动手持设备的环境非常多样,并没有桌面p c 那样统一的硬件和软 件平台,目前应用在手机上的操作系统主要有p o c k e tp c 、s m a r t p h o n e 、s y m b i a n 和l i n u x 等。所以,作为j 2 m e 解决方案一部分的x o r p ,必须在不同的平台上 支持多媒体的回放和控制,同时,我们希望x o r p 的结构和代码也能够得到最 大程度的重用。 其三:目前已经有一些专门进行多媒体处理的开发包,如微软公司提供的支 持w i n 3 2 平台( w i n 9 x ,w i n m e ,w i n n t , w i n 2 k ,w i n x p ) 和w i n c e 平台的 d i r e c t s h o w i n t e l 公司提供的支持w i r d 2 平台、w i n c e 平台、p o c k e tp c 平台、 l i n u x 平台和s m a r t p p h o n e 平台的i p p ,性能都很好。我们可以在x o r p o r l 系 统中多多利用这些比较成熟的产品。 综合考虑了上述几个因素,本文作者和项目组成员总结出以下的设计目标: 扩充x o r p o r l 系统以支持j s r l 3 5 ,实现m m a p i 的各种调用逻辑:覆盖了 j s r l 3 5 的x o r p o r l 是一个跨平台的系统,j a v a 层平台无关,v m 层随底下操 作系统支持的不同有不同的实现,同时在平台移植时有尽可能小的改动;尽可能 利用市面上比较成熟的用于多媒体处理的开发包;j s r l 3 5 的实现能有高速、低 耗等较优的性能。 本文作者作为项目组成员,负责j s r l 3 5 跨平台方案的设计和开发,着重研 究w i n d o w s 系列操作系统上的设计和开发。在j 2 m e 体系结构方面,主要负责 o r l ,以及o r l 与x o r p 之间粘合逻辑的设计和开发;在多媒体类型方面,主 要负责设计和开发w a v e 格式及m p e 9 4 格式多媒体文件的同放与控制。 l o 摘要 本文的内容和组织结构 本文首先介绍了j 2 m e 的发展现状,以及可选包j s r l 3 5 的基本内容,该可 选包为j a v a 应用在移动设备行运行使用多媒体提供了一套简洁的、可扩充的和 规范的a p i 。在分析了一些手持设备上多媒体处理的市场需求和应用意义以后, 阐述了在j 2 m e 框架中开发j s r l 3 5 的必要性、可行性和应用前景,并大致提出 了设计和实现方面的一些注意点。 接着,本文概要地介绍了j s r l 3 5 的基本特性和体系结构。在j s r l 3 5 中, 多媒体的处理被划分为协议处理和内容处理两个部分,两个高层对象d a t a s o u r c e 和p l a y e r 分别封装了这两部分。我们通过m a n a g e r 生成p l a y e r ,同时能用一个或 多个c o n t r o l s 来调整p l a y e r 的行为。p l a y e r 可是说是整个j s r i 3 5a p i 的核心部 分,它控制多媒体的播放,提供基本的同步机制,管理着整个媒体播放器的生命 过程。 本文的重点之一,在于文章从架构设计入手对x o r p o r l 系统中j s r l 3 5 的跨平台设计作了全面的介绍。在我们的设计中系统被划分成j a v a 层和n a t i v e 层两个层次。j a v a 层即我们的j s r l 3 5 类库o r l ,它又分成上下两层:上层实现 m m a p i 的各种调用逻辑:下层将所有和n a t i v e 层交互的部分封装起来。用c c 十+ 实现的n a t i v e 层即我们使用的虚拟机x o r p ,其包含的j s r l 3 5n a t i v e 部分也分 为上下两层:上层是平台无关的,主要目的是为不同平台提供统一的接口,方便 移植和最大程度的代码重用;下层则与平台相关,包含了与底下操作系统的粘合 逻辑,随底下操作系统支持的不同( w i n 3 2 ,w i n c e ,p o c k e tp c ,s m a r t p h o n e 或 l i n u x 等) 有不同的实现,在这一层中我们还很好地利用了i n t e l 公司提供的i p p ( i n t e g r a t e dp e r f o r m a n c ep r i m i t i v e s ) 开发包。可见,整个设计具有良好的扩展性 和移植性。 在w i n 3 2 和w i n c e 平台上。我们还将专门用来播放数字音讯的应用程序接 口w a v e o u t 和m i d i o u t 纳入上述设计中。在w i n d o w s 系列操作系统上,我们还 有一种设计方案是充分利用d i r e c t s h o w 的特性和功能来实现j s r l 3 5 。基于 d i r e e t s h o w 的系统架构在w i n d o w s 平台上执行效率很高而在跨平台性方面该 设计则劣于前面基于i p p 的设计,所以最终被抛弃。 本文的又一重点,在于文章介绍了前面提出的j s r l 3 5 跨平台设计方案的实 现机制,并详细阐述了在w i n d o w s 系列操作系统上,各媒体格式回放和控制的 实现。在w i n 3 2 和w i n c e 平台上,我们除了使用i p p 开发包以外,还利用了专 门用来播放数字音讯的应用程序接口w a v e o u t 和m i d i o u t w a v e 格式的多媒体 摘要 文件,直接在n a t i v e 层的w a v e p l a y e r 中用w i n d o w sw a v e o u ta p i 播放;m p 3 格 式的多媒体文件,通过i p p 解码器转换为w a v e 格式后,再用w a v e o u t a p i 播放; m p e 9 4 格式的多媒体文件通过i p p 解码器抓出特定信息和待播放的帧,然后用 m i d p 2 0u l 来绘制帧;m i d i 格式的多媒体文件,需要n a t i v e 层的m i d i p l a y e r 借 助辅助类m i d i c o n t r o l ,m i d i c o n t r o l 重新组织和封装了w i n d o w sm i d i o u ta p i 。经 过测试,j s r l 3 5 规范提出的多媒体回放和控制功能均得到了基本的实现。这些 实现虽然基于w i n d o w s 系列操作系统但大部分对其它平台上的实现也具有普 遍的参考意义。 然后本文简单介绍了j s r l 3 5 的移植与测试。j s r l 3 5 的移植工作只涉及到 n a t i v e 部分,具体实现时在代码中采用宏作为开关来划分编译代码块。为了方便 j 2 m e 类库的测试,本文的作者还自行研发了一种方法覆盖测试工具,可以统计 分析j 2 m e 应用程序运行时x o r l o r l 系统中的方法调用情况。极大地提高了 测试的效率和可视性。 晟后,本文总结j s r l 3 5 各个方面的特点并对其进一步扩充和应用作了展望。 本文的结构如下;第一章,j s r l 3 5 介绍。第二章,j s r l 3 5 的设计。第三章 j s r l 3 5 的实现。第四章。s r l 3 5 的移植与测试。第五章,总结与展望。 第一章j s r l 3 5 介绍 在m i d p i 0 ( j s r3 7 ) 中并没有提供对声音和视频处理的支持,因此有些厂 商就独立开发了a p i 来弥补这样的不足。在m i d p 2 0 ( j s rll s ) 中提供了对多 媒体处理的支持但是它只是m m a p i ( j s r l 3 5 ) 的一个子集。m m a p i 为多媒 体开发提供了一个强大、可扩充以及简单的接口,用来播放和录制声频( a u d i o ) 或视频( v i d e o ) 。本章将对m m a p i 做整体介绍。 1 1m m a p i 的特性 m m a p i 主要有以下特性: 1 支持单音,重复播放和记录基于时间的多媒体文件。 2 以c l d c 为目标。虽然如此,m m a p i 在c l d c 和c d c 软件上都可以运行 得很好。事实上,m m a p i 可以作为轻量选择用j 2 s e 实现到j a v am e d i a f r a m e w o r k 。 3 设计小巧,目的为了节省资源。 4 m m a p i 并非针对任何内容类型和协议。 5 可以只实现m m a p i 的子集。m i d p2 0 规范就包括了一个m m a p i 的子集, 它向上兼容所有a p i 。 6 扩展性强,m m a p i 在不修改原来功能的情况下可以添加新的功能。 7 选择性实现,实现者可以只实现部分功能。在我们的项目中,我们实现了 w a v e 、m p 3 、m p e 酣和m i d i 的播放和简单控制,一些可选的高级功能如语 音捕获、录音和摄像等,我们暂时没有实现。 1 2m m a p i 的体系结构 在j s r l 3 5 中。多媒体的处理被划分为两个部分:协议处理和内容处理。前 者是指如何从源读取数据并送到多媒体处理系统;后者包括分析和解码多媒体数 据,并将数据送给扬声器和显示器等输出设备。两个高层对象d a t a s o u e 和p l a y e r 在m m a p i 中担任了重要角色,分别封装了协议处理和内容处理这两部分。下面 这张图表明了这些类问的协作关系: 图i - i m m a p l 的高层协作图 1 一个p l a y e r 知道如何去解释媒体数据。举个例子,某种类型的p l a y e r 知道如 何根据m p 3 媒体数据产生声音,另外一个p l a y e r 知道如何播放一段 q u i c k t i m e 的m o v i e 。j a v a x m i c r o e d i t i o n m e d i a p l a y e r 接1 2 1 的实现即是这里说 的p l a y e r 2 一个d a t a s o u r e e 知道如何从它的原始位置读取媒体数据给p l a y e r 。媒体数据 可以被保存在不同的位置,从远程服务器到资源文件或者r m s 数据库。媒 体数据可以从原始位置通过h t r p ,像r t p 一样的流式传输协议,或者其他 机制传输到p l a y e r 。j a v a x m i c r o c d i t i o n m e d i a p r o t o c 0 1 d a t a s o u r e e 是m m a p i 中所有d a t a s o u r e e 类的抽象父类。 3 你能用一个或多个c o n t r o l s 来调整p l a y e r 的行为。你可以在p l a y e r 从媒体转 换数据的时候从一个p l a y e r 实例取得并且使用c o n t r o l s 。比如,你能用一个 v o l u m e c o n t r o l 来调节一个采样音频的声音大小。c o n t r o l s 是 j a v a x m i e r o e d i t i o n m e d i a c o n t r o l 接口的实现。详细的c o n t r o l 子接口在 j a v a x m i c r o e d i t i o n m e d i a c o n t r o l 包中,包括f r a m e p o s i t i o n i n g c o n t r o l 、 g u i c o n t r o l 、m e t a d a t a c o n t r o l 、m l d i c o n t r o l 、p i t c h c o n t r o l 、r a t e c o n t r o l 、 r e c o r d c o n t r o l 、s t o p t i m e c o n t r o l 、t e m p o c o n t r o l 、t o n e c o n t r o l 、v i d e o c o n t r o l 和v o l u m e c o n t r o l 等。 4 最后,m a n a g e r 把每一个部件捆绑起来并且为a p i 提供了切入点。 j a v a x m i c r o e d i t i o n m e d i a m a n a g e r 类包含了得到p l a y e r 或d a t a s o u r e e 的静态 方法。 1 2 1 创建p l a y e r 实例 摘要 通过如下三种方法我们得到一个p l a y e r 的实例 1 ) p u b l i cs t a t i cp l a y e rc r e a t e p l a y e r ( s t r i n gi o c a t o ot h r o w si o e x c e p t i o n , m e d i a e x c e p t i o n 2 ) p u b l i cs t a t i cp l a y e rc r e a t e p l a y e r ( d a t a s o u r c es o u r c e ) t h r o w si o e x c e p t i o n , m e d i a e x c e p t i o n 3 ) p u b l i cs t a t i cp l a y e rc r e a t e p l a y e r ( i n p u t s t r e a ms t r e a m ,s t r i n gt y p e ) t h r o w s i o e x c e p t i o n ,m e d i a e x e e p t i o n 圈1 - 2 ,m a n a g e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 坐月子营养饮食搭配指导试题及答案
- 2025年工业互联网平台生物识别技术在智能工厂生产质量监控中的应用报告
- 2025年广播影视行业媒体融合与短视频平台的融合发展报告
- 2025年社区心理健康服务心理健康宣传日活动创新与推广实践报告
- 2025年新能源商用车在城市物流配送新能源车辆市场竞争格局分析报告
- 2025至2030年中国海参养殖市场运行态势及行业发展前景预测报告
- 2025至2030年中国高端家具制造行业发展监测及投资战略研究报告
- 2025至2030年中国云对象存储行业市场调查研究及投资战略咨询报告
- 考点解析-吉林省公主岭市中考数学真题分类(位置与坐标)汇编同步测试试题(解析版)
- 考点解析广东省普宁市中考数学真题分类(一元一次方程)汇编定向练习试题(含答案解析版)
- 2025年度房屋拆迁补偿安置房买卖协议
- 电子竞技赛事策划与组织运营管理方案设计
- 人教版(2024)八年级上册数学全册教案
- 职工职业健康体检实施方案与标准
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 食堂工作人员食品安全培训
- 战场急救知识
- T∕CITS 146-2024 尿液有形成分名称与结果报告规范化指南
- 主要粮食作物机收减损技术-农业农机技术培训课件
- TSG11-2020 锅炉安全技术规程
- 【图文】IXIA测试仪使用手册-IxLoad
评论
0/150
提交评论