一、概述
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 具有下列特点:
下面一段文字来自于 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 :
不同于上述这两个供应商,大多数创作工具和播放器开发人员主要分为两种,
此外,随着无线网络的发展,关注 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" mce_src="FirstImage.jpg" region="Image" /> <text src="FirstText.txt" mce_src="FirstText.txt" region="Text" /> <audio src="FirstSound.amr" mce_src="FirstSound.amr"/> </par> <par dur="7s"> <img src="SecondImage.jpg" mce_src="SecondImage.jpg" region="Image" /> <text src="SecondText.txt" mce_src="SecondText.txt" region="Text" /> <audio src="SecondSound.amr" mce_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