smil 标记
--在< seq>< /seq>中间的多媒体片断顺序播放
< seq>
< img src="image1.jpg"/> < img src="image2.jpg"/>
< /seq>
< video src="test.rm" clip-begin="5s" clip-end="10s"/>//clip-begin和clip-end属性是用内部时间控制的属性。这里的内部指的就是多媒体片断自己的时间线(timeline)。
< video src="test.rm" dur="30s" fill="freeze"/> //Fill属性只有remove和freeze两个,默认的值为remove。建议大家在演示的最后的一个多媒体片断上用冻结(freeze),以防止屏幕上空空如也!
< vedio src="test.rm" dur="1min" repeat="2"/> //上面这个例子就是让test.rm播放两次。如果我们想让某个片断一直播放下去那么repeat="indefinite"就可以了
3、 布局设计
< root-layout width="300" height="200" background-color="white" />
//root-layout标记表明的是规定最基本的、最底层的窗口。其他一切窗口都在它的基础上划分出来。
< region id="vedio_region" width="80%" height="80%" fit="meet"/>
//它的意思就是窗口vedio_region以meet方式显示多媒体片断。
//fit属性的属性值有hidden、meet、fill、scroll和slice四个。其中hidden是默认的属性值。
//Hidden表示保持多媒体片断的尺寸不变,从窗口的左上角开始显示。如果多媒体片断尺寸比窗口的尺寸小,那么空白的地方将用背景色填充。如果多媒体片断尺寸比窗口的尺寸大,那么多媒体片断超出窗口部分被裁去,不被显示。个人不喜欢这样的方式。
//meet表示在保持多媒体片断宽/高比例不变的情况下,对多媒体片断的尺寸进行缩放。从左上角开始显示,缩放到高度和宽度中的一个尺寸等于窗口的相应的尺寸,而另外的一个小于窗口的相应的尺寸。空白处用背景色填充。我喜欢这个!
//fill表示缩放多媒体片断使得其大小正好和窗口的大小一致。如果多媒体片断的宽/高比例和窗口的宽/高比例不等,那么多媒体片断就会变形,非常难看。强烈建议不要采用这种方式!
//scroll表示对多媒体片断的尺寸不做什么修改,它以正常的尺寸大小显示。但是,如果多媒体片断的尺寸超出了窗口的尺寸,那么将会相应出现水平或者垂直滚动条。该种发式适合于长时间的多媒体片断的显示。如果多媒体片断的显示时间很短,建议不要使用!
//slice表示在保持多媒体片断宽/高比例不变的情况下,对多媒体片断的尺寸进行缩放。从左上角开始显示,缩放到高度和宽度中的一个尺寸等于窗口的相应的尺寸,而另外的一个大于窗口的相应的尺寸。超出的不分被裁去而不显示。
超链接有两种方式:
< body> < a href="1.rm"> < video src="videotest.rm" region="videoregion"/> < /a> < /body>
< body> < video src="videotest.rm" region="videoregion"> < anchor href="1.rm"/> < /video> < /body>
分时断链接 :
< body> < video src="1.avi" region="videoregion"> < anchor href="1.jpg" begin="0s" end="10s" > < anchor href="videotest.rm" begin="10s" end="20s" /> < /video>
大家将看到的效果:播放器播放1.avi,在0~10秒链到1.jpg,在10~20秒链到videotest.rm。警告:dur、clip-begin和clip-end这里不支持!
如何链接部分SMIL:
< body> < video src="1.avi" region="videoregion"> < anchor href="test11app.smil#testlink"/> < /video>
第一个SMIL文件,取名test11app.smil
< video id="testlink" src="1.avi" clip-begin="150" region="videoregion"/>
就是在test11app.smil中为我们要链接的那部分内容设上id,然后在test11.smil中的链接中用“#”来指向该标记id
也可以优化如下:
< body> < par id="testlink"> < video src="1.avi" clip-begin="150" region="videoregion"/> < /par> < /body>
coords属性 :
< anchor href="1.rm" coords="0, 0,150,300"/> 或者: < anchor href="1.rm" coords="0%, 0%,50%,100%"/>
看到左半部分有链接效果,而右半部分却没有!这是我们采用了坐标规定链接区的缘故。coords属性值的第一、二个数分别表示的是链接区的左上角点的水平(left)和垂直(top)坐标;第三、四个数分别表示的是链接区的右下角点的水平(left)和垂直(top)坐标。上面用的是像素点的绝对定义方法
链接注意:
我们的演示最后基本上都要放到服务器上。因此,文件的位置的规定就非常重要,如果文件位置出错,那么播放器将找不到文件而不能播放。这是我们最不希望看到的!下面我们就来讨论这个问题:
A、创建基地址
< head> < meta name="base" content="rtsp://abc.5dmedia.com/"/> < /head>
< body> < video src="video/first.rm"/> < video src=" video /second.rm"/> < audio src="rtsp:// abc.mysite.com:554/audio/test.mp3"/> < img src="http// www.5dmedia.com/image/welcome.jpg"/> < /body>
上面就是在< head>< /head>中用附加信息的方式规定了整个smil文件的基地址为rtsp://abc.5dmedia.com/。规定了基地址以后,我们在用该地址下的文件的时候,就只需要给出路径就可以了
< body> < video src="video/first.rm"/> < video src=" video /second.rm"/> < audio src="rtsp:// abc.mysite.com:554/audio/test.mp3"/> < img src="http// www.5dmedia.com/image/welcome.jpg"/> < /body>
这个例子中的前面的两个文件用的是基地址服务器上的文件,所以,可以之写出相对地址。但是,后面的两个文件用的是其他服务器上的文件,我们必须给出绝对地址。其中rtsp是实时流传输协议,它保证SMIL播放器正确地从流服务器abc.mysite.com上的audio文件夹下获得我的所要的文件test.mp3。554为流服务器的端口。http是超文本传输协议。它保证SMIL播放器正确地从web服务器www.5dmedia.com上的image文件夹下获得我的所要的文件welcome.jpg。< audio src="rtsp:// abc.mysite.com:554/audio/test.mp3"/>说明的是该文件不在上面的基地址下,而在rtsp:// abc.mysite.com:554/audio/这个地方法,所我们必须修改地址。
语言选择:
< smil> < body> < switch> < video src="English.rm" system-language="en-us"/> < video src="Chinese.rm" system-language="zh-cn"/> < /switch> < /body> < /smil>
在SMIL播放器播放该SMIL文件时,检测你的播放器设置的是什么语言,如果是美国英语(en-us),那么就从服务器下载English.rm播放;如果是简体中文(zh-cn),那么就从服务器下载Chinese.rm文件播放。你可以设置很多的国家的选项。当然你的语言的版本也就很多了
代码 语言 zh-cn 中文 (中华人民共和国) en-us 英语 (美国) fr 法语 (标准法语) de 德育(标准德语) it 意大利语(标准意大利语) ja 日语 es 西班牙语(西班牙)
智能流(surestream) :
用户的联网速度是不尽相同的。有的可能只有50K左右,有的可能有几百K。如果我们满足了高速用户的要求,那么低速用户可能由于速度太慢而不能收看。如果我们满足了低速用户的要求,那么高速用户看到的效果就打了不少的折扣,浪费了高速的带宽。怎么办?
< smil> < body> < switch> < vedio src="highspeed.rm" system-bitrate="250000"/> < vedio src="midspeed.rm" system-bitrate="80000"/> < vedio src="lowspeed.rm" system-bitrate="20000"/> < /switch> < /body> < /smil>
当用户的联网速度大于250kbps时,播放器就从服务器下载highspeed.rm播放;如果用户的联网速度大于80kbps小于250kbps时,播放器就从服务器下载midspeed.rm播放;如果用户的联网速度大于20kbps小于80kbps时,播放器就从服务器下载lowspeed.rm播放。所谓的“众口难调”在各位的手里就变得如此简单!
复杂的一点的例子:
< body> < switch> < par system-bitrate="225000"> < !--联网速度大于250kbps时,播放该组--> < audio src="audio/music1.rm"/> < video src="video/video1.rm" region="videoregion"/> < text src="words/narration.txt" region="textregion"/> < /par> < par system-bitrate="80000"> < !--联网速度大于80000bps而小于250000bps时,播放该组--> < audio src="audio/music2.rm"/> < video src="video/video2.rm" region="videoregion"/> < textstream src="words/narration.rt" region="textregion"/> < /par> < par system-bitrate="20000"> < !--联网速度大于20kbps而小于80kbps时,播放该组--> < audio src="audio/music3.rm"/> < video src="video/video3.rm" region="videoregion"/> < text src="words/narration.txt" region="textregion"/> < /par> < /switch> < /body>
语言与速度的同时检测:
< body> < switch> < !—简体中文并且速度大于28kbps --> < text src=" Chinese_14000.txt" system-language="zh-cn" system-bitrate="28000" /> < !--简体中文并且速度大于14kbps --> < text src="Chinese_28000.txt" system-language="zh-cn" system-bitrate="14000" /> < !—美国英文并且速度大于28kbps --> < text src="english_14000.txt" system-language="en-us" system-bitrate="28000" /> < !--美国英文并且速度大于14kbps --> < text src="english_28000.txt" system-language="en-us" system-bitrate="14000" /> < /switch> < /body>
我们在传输中不能全部占用用户的带宽,必须留出一部分给用户浏览网页或者是干其它用途的:
14.4 Kbps modem 10 Kbps 28.8 Kbps modem 20 Kbps 56 Kbps modem 34 Kbps 64
发送彩信如何生成smil文件
5星 · 超过95%的资源 需积分: 50 70 浏览量
2011-08-02
13:58:14
上传
评论 4
收藏 8.7MB RAR 举报
luozhao528
- 粉丝: 2
- 资源: 10
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
- 基于Python实现的手写数字识别系统源码.zip
- 从网页提取禁止转载的文字
- C语言基础-C语言编程基础之Leetcode编程题解之第32题最长有效括号.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页