Posted on 2006-05-12 15:29
花 阅读(431)
评论(0) 编辑 收藏 所属分类:
XML Design
http://chinaunix.net/jh/13/246914.html
SMIL是同步多媒体集成语言(Synchronized Multimedia Integration Language)的缩写
它用来规定多媒体片断(这里多媒体的包括的范围有:声音文件、视频文件、动画、图片、文字等)在什么时候、在什么地方、以什么样的方式播放。
(1) 避免使用统一的包容文件格式
(2)同时播放在不同地方(服务器上)的多媒体片断
(3)时间控制
(4)对整个演示进行布局
(5)多语言选择支持
(6)多带宽选择支持
1、 多媒体片断结构组织
(1)< seq>< /seq>标记:媒体片断顺序播放
例如:
< smil>
< head> < /head>
< body>
< seq>< img src="image1.jpg"/>< img src="image2.jpg"/>< /seq> < /body>
< /smil>
(2) < /par>标记 :媒体片断协同播放
例如:
< smil>
< head> < /head>
< body>
< par>< img src="image1.jpg"/>< img src="image2.jpg"/>< /par> < /body>
< /smil>
(3)< seq>< /seq>和< par>< /par>标记协同使用分析
< smil>
< head> < /head>
< body>
< seq>
< img src="image1.jpg"/>
< par> < img src="image2.jpg"/>< img src="image3.jpg"/>< /par>
< img src="image4.jpg"/>
< /seq>
< /body>
< /smil>
2、 时间控制
(1)dur属性 :媒体片断持续时间
< smil>
< head>
< /head>
< body>
< seq>
< img src="image1.jpg" dur="5s"/>
< img src="image2.jpg" dur="10s"/ >
< /seq>
< /body>
< /smil>
(2)begin和end属性
< smil>
< head>
< /head>
< body>
< img src="image1.jpg" begin="2" dur="5s"/>
< /body>
< /smil>
(3)clip-begin和clip-end属性
(4)fill (remove、freeze)
(5)repeat(数字或 indefinite)
3.布局设置
(1)定义基本显示窗口
< smil>
< head>
< layout>
< root-layout width="300" height="200" background-color="white" />
< /layout>
< /head>
< body>
< /body>
< /smil>
(2)定义多媒体片断显示窗口
< smil>
< head>
< layout>
< root-layout width="300" height="300" background-color="yellow" />
< region id="vedio_region" left="5" top="5" width="290" height="260" />
< region id="text_region" left="5" top="270" width="290" height="25" background-color="white"/>
< /layout>
< /head>
< body>
< par>
< vedio src="test.rm" region="vedio_region" />
< text src="test.txt" region="text_region"/>
< /par>
< /body>
< /smil>
(3)fit属性 :fit属性的属性值有hidden、meet、fill、scroll和slice四个。其中hidden是默认的属性值。
< region id="vedio_region" width="80%" height="80%" fit="meet"/>
(4)z-index属性
z-index属性规定相互重叠的窗口的显示次序。数字大那么显示就在上面。这个很容易理解,我们就不说太多。但是以下几点要注意:
a、root层窗口总是在最后一层,并且不用z-index属性。
b、z-index属性值可以是负数。当然它就的排在0以后。
c、 没有重叠的窗口可以使用同一z-index属性值。
< smil>
< head>
< layout>
< root-layout width="300" height="300" />
< region id="vedio1_region" width="300" height="300" z-index="0"/>
< region id="vedio2_region" left="270" top="270" width="30" height="30" z-index="1" />
< /layout>
< /head>
< body>
< par>
< vedio src="testone.rm" region="vedio1_region"/>
< vedio src="testtwo.rm" region="vedio2_region" />
< /par>
< /body>
< /smil>
4、链接制作
(1)< a>< /a>标记
< smil>
< head>
< layout>
< root-layout width="300" height="300"/>
< region id="videoregion" top="0" left="0" width="300" height="300"/>
< layout>
< /head>
< body>
(2)< anchor>属性
a、 分时断链接
考虑这样一个问题:我们要在0~10秒链到一个文件,10~20秒链到另一个文件,该怎么办?看我们的:
< body>
< video src="1.avi" region="videoregion">
< anchor href="1.jpg" begin="0s" end="10s" >
< anchor href="videotest.rm" begin="10s" end="20s" />
< /video>
B、链接部分SMIL
我们的链接可以链接的文件很多,几乎所用的多媒体片断都可以。*.smil和*.html也可以。但是,下面我们要讨论的是如何链接部分SMIL。
第一个SMIL文件,取名test11.smil
< smil>
< head>
< layout>
< root-layout width="400" height="300"/>
< region id="videoregion" top="0" left="0" width="400" height="300" fit="meet"/>
< /layout>
< /head>
< body>
< video src="1.avi" region="videoregion">
< anchor href="test11app.smil#testlink"/>
< /video>
< /body>
< /smil>
第一个SMIL文件,取名test11app.smil
< smil>
< head>
< layout>
< root-layout width="400" height="300"/>
< region id="videoregion" top="0" left="0" width="400" height="300" fit="meet"/>
< /layout>
< /head>
< body>
< video id="testlink" src="1.avi" clip-begin="150" region="videoregion"/>
< /body>
< /smil>
或
< par id="testlink">
< video src="1.avi" clip-begin="150" region="videoregion"/>
< /par>
< a href="1.rm">
< video src="videotest.rm" region="videoregion"/>
< /a>
< /body>
< /smil>
(3)coords属性
< anchor href="1.rm" coords="0, 0,150,300"/>
或者:
< anchor href="1.rm" coords="0%, 0%,50%,100%"/>