了解J2ME可选包MMAPI

本文介绍了MMAPI(Mobile Media API)的基本特性和结构,包括其对多媒体文件的支持、小巧设计、扩展性及选择性实现的特点。MMAPI通过DataSource和Player组件处理数据传输协议与媒体数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在MIDP1.0(JSR 37)并没有提供对声音和视频处理的支持,因此有些厂商就独立开发了API来弥补这样的不足。在MIDP2.0中(JSR 118)中提供了对多媒体处理的支持,但是它只是Mobile Media API(JSR 135)的一个子集。本文将主要对MMAPI做整体介绍。

    首先我们关注一下MMAPI的特性。

  1. 支持单音,重复播放和记录基于时间的多媒体文件
  2. 以CLDC为目标
  3. 设计小巧,目的为了节省资源
  4. MMAPI并非针对任何内容类型和协议
  5. 可以只实现MMAPI的子集,这就是为什么MIDP2.0中能够只实现其子集的原因
  6. 扩展性强,MMAPI在不修改原来的功能的情况下可以添加新的功能
  7. 选择性实现  实现者可以只实现部分功能

    通常在多媒体的处理过程中有两个重要的环节,一是处理数据传输的协议另一个是处理媒体的数据类型。在MMAPI中提供了DataSource和Player来完成这两步重要的内容。DataSource对数据传输协议进行封装不管它是从哪里过来的,可以是流、文件或者服务器资源等等。Player则负责解码工作,并传输给外设比如显示屏和扬声器,MMAPI的入口点是Manager类,通过它我们可以得到Player的实例。请看下图

 

 

 

 

通过如下方法我们可以得到一个Player的实例。
public static Player createPlayer(String locator)
throws IOException, MediaException
public static Player createPlayer(DataSource source)
throws IOException, MediaException
public static Player createPlayer(InputStream stream, String type)
throws IOException, MediaException

当创建一个Player的时候,它处于UNREALIZED的状态,当Player已经定位了它目标数据后就进入了REALIZED状态,接下来Player对数据进行缓冲这样可以确保播放的流畅,这个状态叫做PREFETCHED。当Player开始播放数据的时候是STARTED状态。Player对数据流提供了基本的控制,通过如下方法可以实现
Player.realize()
Player.prefetch()
Player.start()
Player.setMediaTime(long time)
同时Player也允许对数据流进行详尽的控制,并且针对不同的类型提供不同的控制,通过如下方法我们可以获得Control
Control[] Player.getControls()
Control Player.getControl(String controlType)

    MMAPI提供了一些系统属性供查询,我们可以使用方法System.getProperty(String key)得到属性值。关于这些属性值得说明请参考MMAPI DOC。
supports.mixing
supports.audio.capture
supports.video.capture
supports.recording
audio.encodings
video.encodings
video.snapshot.encodings

    通常我们想知道我们的机器是否支持某些特定的数据类型和传输协议,但是由于MMAPI规范中并没有规定这些,因此我们只能在运行时得到这些数据,可以调用Manager的getSupportedContentTypes()getSupportedProtocols()。如果Player播放不能解释的数据或者处理不支持的协议的时候会抛出异常。

    总结:MMAPI的设计相当灵活,在使用MMAPI之前,理解他的结构和规范是非常重要的。在后续的文章中我们将讲述如何使用MMAPI并提供具体的实例。

 
内容概要:本文详细探讨了基于阻尼连续可调减振器(CDC)的半主动悬架系统的控制策略。首先建立了CDC减振器的动力学模型,验证了其阻尼特性,并通过实验确认了模型的准确性。接着,搭建了1/4车辆悬架模型,分析了不同阻尼系数对悬架性能的影响。随后,引入了PID、自适应模糊PID和模糊-PID并联三种控制策略,通过仿真比较它们的性能提升效果。研究表明,模糊-PID并联控制能最优地提升悬架综合性能,在平顺性和稳定性间取得最佳平衡。此外,还深入分析了CDC减振器的特性,优化了控制策略,并进行了系统级验证。 适用人群:从事汽车工程、机械工程及相关领域的研究人员和技术人员,尤其是对车辆悬架系统和控制策略感兴趣的读者。 使用场景及目标:①适用于研究和开发基于CDC减振器的半主动悬架系统的工程师;②帮助理解不同控制策略(如PID、模糊PID、模糊-PID并联)在悬架系统中的应用及其性能差异;③为优化车辆行驶舒适性和稳定性提供理论依据和技术支持。 其他说明:本文不仅提供了详细的数学模型和仿真代码,还通过实验数据验证了模型的准确性。对于希望深入了解CDC减振器工作原理及其控制策略的读者来说,本文是一份极具价值的参考资料。同时,文中还介绍了多种控制策略的具体实现方法及其优缺点,为后续的研究和实际应用提供了有益的借鉴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值