版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识点:MMAPI简介MMAPI编程基础MMAPI编程基础实例本章导读:
MMAPI(MobileMediaAPI)是J2ME设备的多媒体编程API,本章重点介绍了如何利用J2ME来实现音频、视频的播放、采集等功能。J2ME移动软件程序设计12.1.1MMAPI简介12.1MMAPIMMAPI(MobileMediaAPI)是一个J2ME设备的多媒体性能规范。其目标是实现J2ME多媒体应用的通用性。包括视频和音频的播放、图像捕获和声音记录等。
J2ME移动软件程序设计12.1.2MMAPI中的重要成员MMAPI体系结构:包含三个主要成员。图12-1MMAPI体系结构J2ME移动软件程序设计MMAPI中的重要成员介绍Manager类:只有静态方法,各种应用不能创建它的实例。Manager为创建播放器、查询各种支持协议和内容类型提供了许多静态方法,还为播放一个单音提供了简单的方法。Player:Manager的createPlayer方法创建一个Player,并附加一个相关的DataSource以提供数据。Control接口:是用来实现各种Player可能拥有的控件,应用程序可以向Player查询以检查它支持哪些控件,然后调用这些控件实现相应的功能。
J2ME移动软件程序设计12.1.3MMAPI与MIDP2.0多媒体API的区别
MIDP的API分布在javax.microedition.media和javax.microedition.media.control两个包中;MMAPI包括上述两个包,另外还有tocol包。在MIDP和MMAPI的两个同名包中,存在许多同名的类,这些同名类的功能有差异。在javax.microedition.media.control包中,MMAPI提供了12个控制器,范围包括了对单音音调、音量、MIDI、节拍、视频和录制功能的控制器,而MIDP只支持简单的单音播放器。
J2ME移动软件程序设计12.1.4Player的生命周期
Player的生命周期由五个状态组成,分别是UNREALIZED、REALIZED、PREFETCHED、STARTED和CLOSED。图12-2Player的状态模型J2ME移动软件程序设计UNREALIZED:一开始利用Manager及媒体定位器取得Player的时候,Player即处于UNREALIZED状态。在这个状态下,尚未开始获取媒体的数据,只是产生与媒体类型对应的Player,供以后使用。REALIZED:当Player调用realize()方法后,Player就可以取得这个媒体的相关数据,如长度和媒体作者等,同时检查资料的正确性并进入REALIZED状态。PREFETCHED:调用prefetch()方法读取多媒体内容(串流媒体则不会做这个动作),并开启移动设备内对应的播放装置,同时进入PREFETCHED状态。STARTED:当Player调用start()方法后,开始播放多媒体内容,此时为STARTED状态。CLOSED:如果Player调用了close()方法,Player就会释放所有原先占用的资源,最后终止播放器。
J2ME移动软件程序设计12.1.5设备系统多媒体属性
设备的系统属性可以由System.getProperties()获得。与多媒体相关的系统属性包括microedition.media.versionsupports.mixingsupports.audio.capturesupports.video.capturesupports.recordingaudio.recordingvideo.recordingvideo.snapshot.encordingstreamable.contents
J2ME移动软件程序设计12.2.1获取Player(播放器)的方法12.2MMAPI编程基础
播放一段媒体资源之前需要通过Manager获取相应媒体资源的Player。InputStreamis=getClass().getResourceAsStream(“/sound.wav”);Playerplayer=Manager.createPlayer(is,“audio/x-wav”);player.start();如果资源位于Interenet上Playerplayer=Manager.createPlayer(“http://myH/sound.wav”);如果资源储存在本地记录库中RecordStorers=RecordStore.open(“media_rs”);byte[]recData=rs.getRecord(id);ByteArrayInputStreambis=newByteArrayInputStream(recData);Playerplayer=Manager.createPlayer(bis,“audio/x-wav”);
J2ME移动软件程序设计12.2.2媒体定位符
媒体定位符(MediaLocator)作为一个参数用于Manger类的createPlayer()方法媒体定位符一般是以URI的形式表现“capture://”设备[“?”参数],代表了录音、录像的媒体定位符的通用形式。“capture://radio”[“?”参数],用作收音机定位符。
J2ME移动软件程序设计12.2.3获取Control(控制器)方法
只要Player不是处于UNREALIZED和CLOSED状态,就可以从Player中获取相应媒体类型的Control。如果Player处于UNREALIZED和CLOSED状态,获取Control时会抛出IllegalStateExcetion异常。
J2ME移动软件程序设计12.3MMAPI编程示例
使用单音(Tone)单音是每一只手机最基本的音效能力,MIDP2.0规定支援MIDP2.0的手机都必须提供单音播放能力。Manager类提供一种简单播放单音的方法:playTone(intnote,intduration,intvolume)参数note代表音符,用整数表示,它的取值范围是0~127。参数duration代表播放时间,单位是毫秒。参数volume代表音量,取值范围从0~100,其中0为无声,100为最大值。使用单音实例:PlayToneMIDlet.javaJ2ME移动软件程序设计单音序列使用javax.microedition.mide
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 雇佣小工零工合同版
- 国有资产委托经营管理协议完整版
- 2024版工程物流与居间合同3篇
- 2024版新员工培训班操作手册:打造高效团队的关键
- 《速度和回声计算》课件
- 三年级上册英语书教育课件
- 《产业资本的运行》课件
- 《安全工程师》2024年阿拉善左旗预测密卷含解析
- 火车开了课件
- 企业高管聘用协议书标准范文
- 特种作业人员体检表
- 杭州市产业全景分析报告
- 摄影培训课件:会议摄影拍摄技巧
- 智慧城市项目建设融资方案
- 【QC成果】提高地下室抗浮锚杆一次验收合格率
- 物业秩序维护保安服务岗位设置及职责
- 用字母表示数练习课-完整版课件
- 消防应急预案流程图
- 高中化学人教版(2019)必修第一册教案312铁的氢氧化物铁盐亚铁盐
- A画法几何及水利工程制图期末考试
- 实验室安全检查记录表(实验场所)
评论
0/150
提交评论