- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于J2ME的移动视频技术研究.doc
基于J2ME的移动视频技术研究
摘要:基于J2ME体系框架,结合MMAPI技术,设计并实现了一个移动媒体播放器。重点阐述了MMAPI技术及播放器类的设计。
关键词:J2ME;MMAPI;视频技术;播放器
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)07-1556-03
1 概述
随着移动媒体技术的发展,J2ME在手机、PDA等移动设备上的到了广泛的应用,目前已成为手机开发的主流平台之一,该文首先介绍了J2ME层次结构,MMAPI框架。然后对视频播放器的功能要求做了分析,搭建开发平台,设计了并实现了一款基于J2ME的移动媒体播放器。
2 技术分析
2.1 J2ME体系框架概述
J2ME平台有一系列技术规范组成。J2ME主要由配置(configuration)、简表(profile)和可选包(层)三部分组成。J2ME体系框架结构如图1所示。
2.2 MMAPI框架分析
移动媒体API(Mobile Media API,MMAPI)是JSR135定义的可选包,处于J2ME体系框架的可选包层。提供了一个功能强大,使用简单的多媒体框架。开发人员可以使用这个多媒体框架在移动设备上处理音频和视频数据。MMAPI框架有一个管理器、一个数据源、一个播放器和若干个控制器组成,其中播放器是MMAPI的核心。他们之间的关系如图2所示。
现对MMAPI框架中的各个组件说明如下:(1)数据源(DataSource):数据源由抽象类javax.microedition.media.protocol.DataSource描述,负责把多媒体数据从原始位置传输到播放器。多媒体数据可以存储在各种不同的位置。如文件、远程服务器或者记录管理系统等。根据多媒体数据的存储位置,数据源采用不同的传输协议。(2)播放器(player):播放器是MMAPI框架的核心,负责和解码数据源提供的多媒体数据,并把解析后的数据发送到输出设备的缓冲区中。Java.microediton.media.Player接口定义了管理器播放器生命周期、控制媒体重放和同步的方法。(3)控制器(Control):控制器负责改变播放器的行为。如声音控制器可以调整音频播发器的声音大小。(4)管理器(Manager):管理器又javax.microedition.media.Manager类实现,负责创建播放器和数据源。它提供了创建播放器的静态方法createPlayer。
2.3 使用MMAPI
视频播放的基本流程是:首先通过一定的网络协议或本地的位置获取传递来的流数据,然后将这些流数据传输给DataSource类进行处理,DataSource类将读取视频流和音频流数据并将它们提供给Player类,最后由Player类解析和解码数据以及识别媒体数据类型和传送媒体数据到相应的输出设备缓冲中,Player通过同步机制使用音频和视频设备实现视频和音频的播放。
播放器在其生命周期中有5种状态,图3描述了播放器的生命周期。播放器被创建成功,此时播放器处于unrealized状态。调用realized()方法初始化数据传输,当从该方法返回时,播放器处于realized状态。然后调用prefetch()方法获取音频设备、视频设备等专用资源,直到成功获取这些资源,播放器进入prefetched状态。此时播放器就可以调用start()方法开始播放媒体数据,播放器进入started状态。而在任何一种状态下,都可以调用close( )方法使播放器处于closed状态。如果播放器unrealized状态直接调用start()方法,系统将自动调用中间的realized()方法和prefetch()方法。
3 实例应用
3.1 设计要求
设计一款视频播放器能够播放MPEG格式的视频文件。具体要求如下:(1)当用户选择“打开视频文件”选项时,在屏幕上显示一个文件对话框。在文件对话框中列出了当前目录下所有的子目录和MPEG格式的视频文件。用户可以选择打开一个视频文件,也可以选择进入目录或者上一级目录。文件对话框第一次显示时,将列出移动设备中所有文件系统的根目录。(2)当用户打开一个视频文件时,将启动播放器,在屏幕上播放选择的视频文件。在播放视频的过程中,用户可以通过屏幕上的命令暂时播放和继续播放视频。用户还可以通过按下方向键改变音。(3)用户尅停止播放视频,返回播放器的主菜单,再次打开文件对话框,打开新的视频文件。
3.2 类设计
移动视频播放器共包含4个类和一个接口。一个控制器类MobilPlayerMIDlet;一个视图类VedioCanvas;一个视频播放器类VedioPlay
文档评论(0)