版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识点: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公机器和设备的安装保养和修理行业营销策略方案
- 粉屑清扫器市场发展前景分析及供需格局研究预测报告
- 减压玩具产品供应链分析
- 人工智能医疗行业营销策略方案
- 保险领域的理赔行业营销策略方案
- 磁带录像机商业机会挖掘与战略布局策略研究报告
- 为建筑物涂覆防护漆行业相关项目经营管理报告
- 制造罐头食品行业营销策略方案
- 旅游业全域透视-领略市场变化引领未来发展
- 数值孔径计产品供应链分析
- GB/T 6974.3-2024起重机术语第3部分:塔式起重机
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)数学试卷(含答案逐题解析)
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)化学试卷
- 福建省泉州市2023-2024学年高一上学期期末考试地理试题(解析版)
- 2024年学校中层干部考核细则样本(六篇)
- 2024年协商一致解除劳动合同范例(四篇)
- 工程项目管理信息化方案
- 2024-2025学年小学综合实践活动一年级上册沪科黔科版教学设计合集
- 大学数学《概率论与数理统计》说课稿
- 商检、法检、三检的区别
- tsg z6002-2010特种设备焊接操作人员考核细则
评论
0/150
提交评论