实现移动媒体的api

上传人:F****n 文档编号:96364920 上传时间:2019-08-25 格式:PPT 页数:40 大小:189KB
返回 下载 相关 举报
实现移动媒体的api_第1页
第1页 / 共40页
实现移动媒体的api_第2页
第2页 / 共40页
实现移动媒体的api_第3页
第3页 / 共40页
实现移动媒体的api_第4页
第4页 / 共40页
实现移动媒体的api_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《实现移动媒体的api》由会员分享,可在线阅读,更多相关《实现移动媒体的api(40页珍藏版)》请在金锄头文库上搜索。

1、利用 Java 开发和实现移动应用程序,教学内容 确定 MMAPI 包及其组件 javax.microedition.media javax.microedition.media.control javax.microedition.media.protocol 利用 MMAPI 包播放音频和视频 开发一个自动唱片点唱机应用程序,MIDP1.0与MMAPI,MIDP1.0缺乏对多媒体的支持,哪怕是简单的音频播放都不支持,移动多媒体API彻底解决了J2ME平台对多媒体支持的不足,提供了一个功能强大、设计灵活,且使用简单的框架来处理音频和视频。 MMAPI主要针对具有高级声音和多媒体能力的J2ME

2、设备,课程5A /幻灯片3/共33张,利用 Java 开发和实现移动应用程序,移动多媒体 API 简介 目前市面上存在大量不同的媒体格式,并且还有许多新的媒体格式即将被建立。为了传输和存储这些媒体格式,存在着许多不同格式的存储设备和传输协议 为了能够使用一定设备能够访问这些不同格式的媒体,必须为其设计一个规范化的、强大的和可扩充的应用接口。J2ME提供了一套为规范播放和录制音频或视频接口,即移动多媒体 API(MMAPI)。 移动多媒体 API(MMAPI)提供了一组类和接口,可以用来在移动设备上创建和播放多媒体内容。例如,可以使用 MMAPI 创建声音,也可以用它来捕捉音频和视频数据。 MM

3、API 是一个可选包,可在支持 J2ME 的设备上支持多媒体应用程序。 此 Java 规范由JCP 在 JSR 135 中定义。其设计目的是运行任意协议和格式;例如,它没有指定实现必须支持特定传输协议(如 HTTP 或实时传输协议 (RTP))或媒体格式(如 MP3、MIDI 或 MPEG-4)。 使用 MIDP 2.2 开发的 J2ME 应用程序可以访问 MMAPI 1.1。 因此,这些应用程序还能够捕获和播放视频及图片。 但是,MIDP 2.0 提供的多媒体功能仅限于音频支持。,课程5A /幻灯片4/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其架构 MMAPI

4、 定义了一组(共三个)包,用于播放和控制移动设备上的多媒体内容。 MMAPI 中定义的三个包是: javax.microedition.media: 提供用来创建和管理Player对象的Manager类。 Player对象表示移动设备中的多媒体播放器。 javax.microedition.media.control: 提供各种类型的控制接口,可以用于 Player 对象。 javax.microedition.media.protocol: 用于设定协议,以控制用户自定义的控件。只在MMAPI中提供该包,并且它不是MIDP 2.0的一部分。,课程5A /幻灯片5/共33张,利用 Java 开

5、发和实现移动应用程序,描述 MMAPI 包及其架构(续) MMAPI中的三个包提供了一组用来在移动设备上播放和控制多媒体内容的类和接口。 下表中列出了 MMAPI 包中定义的类:,课程5A /幻灯片6/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其架构(续),课程5A /幻灯片7/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其架构(续),课程5A /幻灯片8/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其架构(续),课程5A /幻灯片9/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其

6、架构(续),课程5A /幻灯片10/共33张,利用 Java 开发和实现移动应用程序,描述 MMAPI 包及其架构(续),课程5A /幻灯片11/共33张,利用 Java 开发和实现移动应用程序,MMAPI 架构,课程5A /幻灯片12/共33张,利用 Java 开发和实现移动应用程序,MMAPI 架构 MMAPI 架构由四个组件构成: Manager 类 是整个MMAPI框架的入口,它将和其他三部分紧密地组织在一起。管理器提供了静态方法可以创建各种类型的播放器,还可以查询播放器支持的协议格式和媒体类型 Player 接口: 其作用在于正确处理某种类型的媒体内容,比如某种类型的播放器能够正确播

7、放MP3格式的文件,而另一种类型的播放器能够播放3gpp格式的视频文件。 Control:用来改变播放器的行为。VolumeControl可以调整音频播放器的声音大小。VideoControl可以控制摄像区域的位置和大小, Control 接口定义在javax.microedition.media包中,其子类都定义在javax.microedition.media.control 包中。 DataSource 类:数据源知道如何从多媒体文件的位置取得媒体内容提供给播放器,媒体文件可以存储在WEB服务器,RMS持久存储空间或者文件系统。媒体数据可以通过HTTP或者RTP等协议传输给Player。

8、,课程5A /幻灯片13/共33张,利用 Java 开发和实现移动应用程序,实现 MMAPI 你可以使用 MMAPI 中定义的类和接口来创建和控制多媒体内容。为了创建和控制多媒体内容,需要在移动设备上实现MMAPI的各种接口和类。 你可以使用 MMAPI 来控制移动设备的特定多媒体应用程序,比如播放不同的格式的电话铃声和声音文件。 你也可以使用 MMAPI 来在移动设备上播放和记录视频。 为了能够播放多媒体内容,你需要创建一个 Player 对象,并且要指定需要播放的数据。 Manager类根据指定的多媒体内容来实现适当的Player接口。例如,如果在Manager类的createPlayer

9、()方法中指定一个视频文件,会生成一个能够播放特定的视频文件的Player对象。 MMAPI 也可以用于直接播放多媒体内容,而无需用到 Player 对象。例如,可以使用Manager类的playTone()方法在移动设备上播放单音。,MMAPI特性,支持单音,重复播放和记录基于时间的多媒体文件 以CLDC为目标 设计小巧,目的为了节省资源 MMAPI并非针对任何内容类型和协议 可以只实现MMAPI的子集,这就是为什么MIDP2.0中能够只实现其子集的原因 扩展性强,MMAPI在不修改原来的功能的情况下可以添加新的功能,更重要的是,可以轻松支持额外的格式,API框架为额外的控制预留了位置。 选

10、择性实现 实现者可以只实现部分功能,MMAPI的主要任务,处理数据传输协议 意义在在于把数据源从文件、流媒体服务器或者设备的摄像头等位置读入到媒体处理系统中。 处理数据内容 意义在于将数据解析、解码并绘制到输出设备上,如扬声器或者手机屏幕上。 这两个任务主要由Player和DataSource类分别来完成的, DataSource屏蔽数据来源的细节,不管它是从哪里过来的,可以是流、文件或者服务器资源等等。而Player则负责解码工作,绘制DataSource提供的数据到输出设备上。,媒体数据,数据源,播放器,http,rtp,file,利用 Java 开发和实现移动应用程序,实现 MMAPI

11、组件 MMAPI 提供了各种类和接口,可以用于实现移动设备的多媒体框架的各种组件。 例如,Player类代表移动设备中的多媒体播放工具并且有助于实现该工具。 PlayerListener接口定义了事件类型,这些事件类型用来处理播放多媒体内容时出现的不同类型的事件。 将控制接口(如VideoControl和VolumeControl)添加到Player对象,以便允许移动用户在移动设备上控制多媒体内容的特性,如音量和节奏。 MMAPI 为使用移动设备捕捉和存储多媒体内容提供了支持。 可以使用 VideoControl对象实现一个取景器,以用于在移动设备上观看多媒体内容。 在取景器中观看内容的同时,

12、还可以使用VideoControl.getSnapshot(String imageType)方法来拍照,并将照片保存为可移植网络图像(PNG)格式。 实现 Manager 类 Manager 类是一个静态工厂类,可以用于创建 Player 对象。 Manager 类定义了三个重载的 createPlayer() 方法,用于创建 Player 对象。,利用 Java 开发和实现移动应用程序,实现 MMAPI 组件 实现 Manager 类 Manager 类是一个静态工厂类,可以用于创建 Player 对象。 Manager 类定义了三个重载的 createPlayer() 方法,用于创建 P

13、layer 对象。 static Player createPlayer(String LOCATION):创建了Player对象,以用于播放多媒体文件。 使用URI定位符字符串LOCATION来指定多媒体文件的网络位置。 static Player createPlayer(InputStream is, String type):创建了Player对象来播放多媒体文件。 使用InputStream对象来指定多媒体文件的数据,多媒体文件的MIME类型被指定为String对象type。 方法的这个版本允许您播放本地存储的多媒体内容。 static Player createPlayer(Dat

14、aSource DS):创建了Player对象来播放多媒体文件。 该Player对象播放由DataSource对象指定的多媒体数据。 DataSource对象提供了连接并播放自定义数据源的多媒体数据的方法。,课程5A /幻灯片18/共33张,利用 Java 开发和实现移动应用程序,实现 MMAPI 组件(续) 下表中列出了 Manager 类中定义的其它方法:,课程5A /幻灯片19/共33张,利用 Java 开发和实现移动应用程序,实现 MMAPI 组件(续) 实现 Player 接口 Player 是一个 javax.microedition.media 包中定义的接口,它是 Contro

15、llable 接口的扩展。 Player接口表示Player类的一般行为,由各种实现了MMAPI的供应商来实现这些Player类。 通过使用Manager类对象的createPlayer()方法来创建一个Player对象。,Player对象的生命周期,Player对象的生命周期,当首次构造一个Player时,它处于UNREAIZED阶段。 可以使用realize()方法将Player对象从UNREALIZED阶段转换到REALIZED阶段。 在这个转换过程中,Player对象查找播放多媒体内容所需的资源。 当您准备播放内容时,可以使用prefetch()方法将Player对象从REALIZED

16、阶段转移到PREFETCHED阶段。 您可以使用start()方法来播放内容。 当调用start()方法时,Player对象转移到STARTED阶段。 当调用stop()方法或Player 对象遇到多媒体内容的结尾时,Player对象将停止播放多媒体内容。 在这两种情况下,Player对象从STARTED阶段转移到PREFETCED阶段。 您还可以调用close()方法来结束Player生命周期并将它送至CLOSED阶段。 您可以根根据要求在Player对象的不同阶段之间进行切换。 因此,Player对象的生命周期中的不同阶段可以帮助您有效地管理移动设备的内存和资源。 例如,在播放多媒体内容之前,可以使Player保持在UNREALIZED阶段,从而节省将播放器保持在REALIZED和STARTED阶段所需的内存开销。,利用 Java 开发和实现移动应用程序,实现 MMAPI 组件(续) 下表列出了 Player 对象生命周期的五个阶段:,代码,tonePlayer = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR); t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号