使用J2ME MMAPI开发移动多媒体应用技术

一、引言

在当前世面上存在着大量的不同媒体格式,并且还有许多新的媒体格式即将被建立。为了存储和传输这些不同的媒体格式,存在着了许多不同格式的存储设备和传输协议,例如大家常使用的媒体存储设备(如CD、VCD以及DVD),有线传输协议(如UDP、HTTP),无线传输协议(如WAP)。

为了使移动装置能够访问这些不同格式的媒体数据,必需为其设计一个规范化的、强大的和可扩充的应用接口。J2ME中就提供了一套为规范的播放和录制音频或视频接口,即Mobile Media API (MMAPI)。

二、MMAPI体系结构

一般情况下,可以将媒体处理过程分解为两个过程:

● 处理媒体数据的传输协议的过程。

● 处理媒体数据内容的过程。

1、处理媒体数据的传输协议的过程

处理传输协议的过程是指从数据源(如一个文件、一个捕获装置或一个流服务)上读取媒体数据内容后,将其传送到媒体数据内容处理的过程。

MMAPI使用Data Source来处理媒体数据的传输协议的过程。一个Data Source知道如何从它的原始位置读取媒体数据并传送给媒体数据处理(Player)。媒体数据可以被保存在不同的位置,从远程服务器到资源文件或者RMS数据库。媒体数据可以从原始位置通过HTTP,像RTP一样的流式传输协议,或者其他机制传输到媒体数据处理(Player)。图一展示了Data Source的工作过程。

开发移动多媒体应用技术-j2me api">

图一:Data Source工作过程

javax.microedition.media.protocol.DataSource提供了MMAPI的Data Source的支持。

2、处理媒体数据内容的过程

处理媒体数据内容的过程通常需要对媒体数据进行解释和解码,并且还需要认别该媒体的输出设置的类型,如是音频设置或者视频设置。举个例子,当DataSource从某媒体数据源上获取一MP3媒体数据,并将其传送给处理媒体数据内容过程,此过程首先对这个MP3媒体数据进行解析和解码,同时检测该MP3媒体为音频数据,打开装置的音频设备,将解析和解码后的媒体数据直接传送到装置的音频设备缓冲中,由该音频设备根据缓冲区中的数据内容产生音频信号。

MMAPI使用Player来处理媒体数据内容。一个Player是javax.microedition.media.Player接口的一个实现实例,它从Data Source中读取媒体数据、解析和解码数据以及识别媒体输出设备和传送媒体数据到输出设备等。Player提供了一套方法去控制媒体的重放和同步。

MMAPI还提供了一个或多个Controls来调整player的行为,可以在player从媒体转换数据的时候从一个player实例取得并且使用Controls。我们可以通过Player中提供的一些特殊的Controls访问一些特殊的媒体类型。Controls由javax.microedition.media.Control接口实现。

时间: 2024-11-02 05:17:00

使用J2ME MMAPI开发移动多媒体应用技术的相关文章

J2ME程序开发全方位基础讲解汇总

程序     一.J2ME中需要的Java基础知识 现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明. J2ME中使用到的Java基础知识:   1.Java语法基础:包括基本数据类型.关键字.运算符等等   2.面向对象的思想:类和对象的概念,继承和多态等等.   3.异常处理   4.多线程 J2ME

J2ME程序开发新手入门九大要点

程序     一.J2ME中需要的Java基础知识 现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明. J2ME中使用到的Java基础知识: 1.Java语法基础:包括基本数据类型.关键字.运算符等等     2.面向对象的思想:类和对象的概念,继承和多态等等. 3.异常处理 4.多线程 J2ME中没有用

面向.NET开发人员的Ajax 技术平台策略(3)

ajax|策略|技术平台 基于Ajax 架构的Web应用框架 之前我提到过"似Ajax" 的架构,现在我要说的Ajax框架也就是指专门针对这种Ajax架构而提供的框架.目前,我还没有听说过特别好的这个领域的流行框架.但我知道我的身边,.NET领域,J2EE领域或PHP平台上都有这样的框架和应用,我认为,正是因为有很多这样应用,所以Ajax才会像某个模式一样,被撰有一个专门的名词.不过我感觉Ajax 渐渐变成了Ajax feature的代名词,变成了XMLHTTP的代名词,成了异步通讯,

在JSP-Servlet开发中导入事件驱动技术

js|servlet JSP-SERVLET为WEB应用程序开发者提供了一个优秀的平台.但是,现在国内大多数的基于JSP-SERVLET的开发都处在最基础的状态,代码重用率低,开发效率低,无法适应大型.复杂的WEB开发要求. 首先,要实现事件驱动,必须在JSP-SERVLET开发中采用MVC技术. M=Model(模型)V=View(视图)C=Control(控制) 视图(V)定义了用户界面.模型(M)定义了抽象类和逻辑.控制(C)则负责根据视图发生的事件调用模型的逻辑完成业务处理. 一般 Mo

虚拟机-Android开发APP流程和技术推荐

问题描述 Android开发APP流程和技术推荐 搞了Eclispe的Android虚拟机,也是按照教程用X86,可是速度还是很慢.可以用手机开发吧.是不是我在电脑上写代码,生成APK然后传都手机里调试.求大神说说怎么开发.或者有什么推荐. 解决方案 Android APP的发布流程简述我的app开发流程 解决方案二: 试试看google自己的android studio或者微软的vs2015,vs2015带的是虚拟机而不是模拟器,所以速度很快. 但是建议你连接手机调试,很多特定的功能,比如说触

规划网站-一个人开发一个网站,想整体规划下,在动手开发,用什么技术可以整体规划

问题描述 一个人开发一个网站,想整体规划下,在动手开发,用什么技术可以整体规划 如果不规划,容易到后面开发会推翻或修改前面的开发(代码) 经常返工! 解决方案 uml,数据建模,画流程图,前期越详细,后期越ok 解决方案二: 整体规划?确认你的功能点吧 Axure挺不错的快速原型工具 解决方案三: UML建模工具,设计先行.

开发人员应该关注技术热点

[编者按]预测未来本来就是一件非常疯狂的事情,而且现在企业科技的发展速度永远超越我们的想象.infoworld主编Eric Knorr为我们预测了在2015年或是未来一段时间内9大技术将大行其道.他认为开源是企业获得竞争优势的首选,作为开发人员应该关注技术热点,并围绕核心技术构建一个类似Docker.Hadoop等的生态系统. 以下为译文: 1.公有云将获得成功 今年,IaaS和PaaS的融合使得在公有云平台上更容易构建.测试和部署应用程序.随着AWS现在提供多重PaaS选项,所有主流的公有云都

微信公众平台-做微信公众号开发要学哪些技术?会使用哪些工具?

问题描述 做微信公众号开发要学哪些技术?会使用哪些工具? 我在网上看了一些帖子,可是依然有些糊涂!想请教专业人士:假如我想做一个有业务处理逻辑的公众服务号,我有sae云服务器,会一点简单的web语言,然后怎么做? 解决方案 现在微信公共平台开发多少是基于PHP与java的,想要学好微信开发必须熟悉微信公共平台各类API的调用.建议你先看看微信公共平台的API文档,然后按照Demo做几个.

jsp-请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的?

问题描述 请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 如题,请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 解决方案 调ffmpeg 获取视频关键帧,作为缩略图 解决方案二: 缩影是什么意思?是压缩么,如果是的话用h.264编码压缩 解决方案三: 用过一个叫CK Player的一个插件,网页视频播放器,挺好用的可以去看看 解决方案四: 上传的视频是如果做到视频缩影 不懂也问问