一、概述
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><br /><head><br /> <meta name="title" content="vacation photos" /><br /> <meta name="author" content="Danny Wyatt" /><br /> <layout><br /> <root-layout width="160" height="120"/><br /> <region id="Image" width="100%"<br /> height="80" left="0" top="0" /><br /> <region id="Text" width="100%"<br /> height="40" left="0" top="80" /><br /> </layout><br /></head><br /><body><br /> <par dur="8s"><br /> <img src="FirstImage.jpg" mce_src="FirstImage.jpg" region="Image" /><br /> <text src="FirstText.txt" mce_src="FirstText.txt" region="Text" /><br /> <audio src="FirstSound.amr" mce_src="FirstSound.amr"/><br /> </par><br /> <par dur="7s"><br /> <img src="SecondImage.jpg" mce_src="SecondImage.jpg" region="Image" /><br /> <text src="SecondText.txt" mce_src="SecondText.txt" region="Text" /><br /> <audio src="SecondSound.amr" mce_src="SecondSound.amr" /><br /> </par><br /></body><br /></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