一、概述
MMS彩信大家都看到过,或者都编辑过。在这里,利用一系列的文章来说明彩信的编辑、发送和接收的过程。首先这里,简单描述一下彩信的编辑过程。这是彩信的第一步。
二、MMS的表述(presentation)语言——SMIL概述
MMS由一系列类似于“power point style”类型的slide组成,由这些slide来组织各种格式的文本、音频、视频信息。这些我们在发送或者接受彩信的时候都有切身的体会,就不说了。
为 了把这些多媒体信息组织到一起,通过网络发送,并且这些信息在接收者那里能够保证按照发送者的样式进行播放。这里就需要采用一种技术,用于描述彩信的组织 和播放方法。这种方法就是利用SMIL语言。看过这个语言的规范之后,我想大部分熟悉HTML和XML的人都会会心的笑了,的确,这就是SMIL语言。
MMS 使用SMIL(Synchronized Multimedia Integration Language)的子集作为表述语言,SMIL是由 W3C(world wide web consortium)制定的基于XML的表述语言标准(可以参见附录中之处的RFC文档)。相当于HTML之于 web。SMIL语言可以控制多媒体对象的layout和timing(播放时间)。
在初期,MMS只使用了SMIL的简单基础子集,称作 “MMS SMIL”。每个MMS信息都是由SMIL表述语言文件组成。在这个文件中所有的slide有相同的layout。每个slide至少包含两个 region,一个包含文本,一个包含图像。事实上,每个slide都是一个frame,每个frame包含layout和指向内容(text、 images、audio、video)的索引。每个slide的播放周期以秒计算,在每个slide的内部,文本和图像的播放时间可以单独设定。
由于每个移动设备的尺寸不尽相同,所以SMIL被设计成可以根据终端的不同表现形式作以重新安排。简单说来,SMIL具有下列特点:
§ 来自于W3C的规范定义
§ SMIL只是简单地限定了各种message元素在何时、在什么地方显式
§ SMIL文件以<smil>标记开始,接下来是head和body标记,最后以</smil>结束
§ Head标记元素限定了
§ Body标记元素限定了被插入内容的参考索引(references),并且限定了何时、何地播放以及每个元素播放的时间。
下面一段文字来自于IBM,说明了在MMS之外SMIL的广泛用途。
SMIL 2.0 是 同步多媒体集成语言(Synchronized Multimedia Integration Language),它已开始成为将多媒体集成 到 Web 内容的重要新方法。SMIL 提供基于 XML 的方法来控制多媒体元素的定时和表示,它已开始获得众多大的软件供应商和工具制作商的支持, 这使得开发人员使用它变得越来越容易。
SMIL 支持已开始成为 Adobe、Microsoft 以及(也许是最重要的)媒体传递领先者 Real Networks 支持的技术之一。众多较小的供应商已开始提供 SMIL 创作工具和播放器。
在不久的将来,随着对当前 2.0 规范支持的增长,对于任何在工作中需要某种形式的多媒体资产控制的开发人员,使用 SMIL 将成为他们的标准策略。如果把正在增长的工具创建者的名单作为某种指示,那么用 SMIL 构建表示也会变得更简单。
RealNetworks 正如前面 提到的那样,最广泛的 SMIL 2.0 实现可能来自 Real Networks。RealOne Player 支 持 SMIL 2.0 语言概要文件(SMIL 2.0 Language Profile),它结合了 SMIL 支持的大多数(尽管不是全部)模块。 除了支持大多数标准 SMIL 模块以外,RealNetworks 还开发了自己的几个 SMIL 扩展。要使用这些扩展,开发人员必须遵守标 准 XML 声明.
Microsoft通过使用少量的 一系列基于 SMIL 的 XML 元素和属性,Microsoft 的 HTML TIME 给 HTML 页面添加了定时和多媒体支持。为了给 HTML 文档添加定时,开发人员要向现有的 HTML 元素添加新属性。创建新元素是为 了使向 HTML 页面添加媒体变得简单。
为了使用任何 HTML TIME 元素,开发人员必须在 HTML 标记中声明 XML 名称空间 t:
不同于上述这两个供应商,大多数创作工具和播放器开发人员主要分为两种,
§ 一种是只关注 SMIL 的完整台式机部署
§ 另一种至少要关心一下用于占用资源较小的移动设备的基本 SMIL 2.0 子集。
此外,随着无线网络的发展,关注 MMS 部署的 SMIL 播放器应该对 SMIL 创作有新的考虑。
三、SMIL简单示例
下面给出了一个MMS消息的SMIL示例:
<smil> <head> <meta name="title" content="vacation photos" /> <meta name="author" content="Danny Wyatt" /> <layout> <root-layout width="160" height="120"/> <region id="Image" width="100%" height="80" left="0" top="0" /> <region id="Text" width="100%" height="40" left="0" top="80" /> </layout> </head> <body> <par dur="8s"> <img src="FirstImage.jpg" region="Image" /> <text src="FirstText.txt" region="Text" /> <audio src="FirstSound.amr"/> </par> <par dur="7s"> <img src="SecondImage.jpg" region="Image" /> <text src="SecondText.txt" region="Text" /> <audio src="SecondSound.amr" /> </par> </body> </smil>
具体的SMIL描述语言的解释可以参见附录的参考文档,那里给出了每种标记的解释说明。
至于在手机软件上实现,也不是很困难的事情。想想看。
利用结构数组,把所有的MMS中的slide存储到其中,最后,结合SMIL语言的规范,把彩信
打包成上述文件的格式,注意,这里,并不需要把具体的多媒体文件内容添加到smil文件中,只需要加在smil文件中,作为附件就可以了。具体的数据的加载,请看下一篇——MMS的打包部分吧!
参考资料:
Nokia:
[N1] How_To_Create_MMS_Services.pdf http://www.forum.nokia.com
[N2] MMSCenterAppDevGuide.pdf http://www.forum.nokia.com
OMA:
[O1] WAP-205-MMSArchOverview-20010425-a.pdf
你可以通过这个链接引用该篇文章:http://feelandtech.bokee.com/viewdiary.24493075.html