ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产免费看久久精品,一二三四区在线观看,91精品国产一区二区三区http://www.aygfsteel.com/hua/category/11323.html即ä‹É世界明天毁灭åQŒæˆ‘也要在今天种下我的葡萄树ã€?zh-cnFri, 02 Mar 2007 03:31:24 GMTFri, 02 Mar 2007 03:31:24 GMT60[¾_‘֍Ž] “笑”傲‹¹åª’体―SMIL基础教程http://www.aygfsteel.com/hua/archive/2006/05/19/47061.htmlèŠ?/dc:creator>èŠ?/author>Fri, 19 May 2006 07:04:00 GMThttp://www.aygfsteel.com/hua/archive/2006/05/19/47061.htmlhttp://www.aygfsteel.com/hua/comments/47061.htmlhttp://www.aygfsteel.com/hua/archive/2006/05/19/47061.html#Feedback0http://www.aygfsteel.com/hua/comments/commentRss/47061.htmlhttp://www.aygfsteel.com/hua/services/trackbacks/47061.html一、 简ä»?

随着‹¹æŠ€æœ¯çš„æˆç†Ÿå’Œå¹¿æ³›çš„应用åQŒå…¶ä¼˜ç‚¹æˆ‘们有了深深的体会。但是,其不­‘³ä¹‹å¤„也逐渐体现出来。问题的出现åQŒå°±è¦æ±‚我们惛_Šžæ³•æ¥è§£å†³ã€‚SMIL正是针对目前‹¹æŠ€æœ¯ä¸­çš„问题而提出来的。下面让我们来仔¾l†çœ‹çœ‹SMILã€?

1、SMIL½Ž€åŽ?

   SMIL是同步多媒体集成语言åQˆSynchronized Multimedia Integration LanguageåQ‰çš„¾~©å†™,念做smile(呵呵åQŒè¿™åå­—不错å?。它是由3W(World Wide Web Consortium)¾l„织规定的多媒体操纵语言。最新的SMIL版本æ˜?001òq?月推出的SMIL 2.0版本(参与制定该标准的公司奇多åQŒJ 有Compaq、Gateway、IBM、Microsoft、RealNetworks、Oratrix½{‰ç­‰ã€‚太多了,一口气都下不来åQï¼åQ?。SMIL与我们网™åµä¸Šç”¨çš„HTMLåQˆè¶…文本传输语言åQ‰çš„è¯­æ³•æ ¼å¼éžå¸¸ç›æ€¼¼ã€‚后者主要针å¯ÒŽ™®é€šçš„¾|‘络媒体文äšg˜q›è¡Œæ“çºµåQˆæ–‡å­—、图片、声韟뀁动甅R€è§†é¢‘的机械堆砌åQ‰ï¼Œè€Œå‰è€…则操纵多媒体片断(对多媒体片断的有机的、智能的¾l„合åQ‰ã€‚J 看来˜q™ä¸œè¥¿çœŸçš„不错!

2、SMIL的优点?

    SMIL语言是一套已¾lè§„定好的而且非常½Ž€å•的标记。它用来规定多媒体片æ–?˜q™é‡Œå¤šåª’体的包括的范围有åQšå£°éŸÏx–‡ä»¶ã€è§†é¢‘文件、动甅R€å›¾ç‰‡ã€æ–‡å­—ç­‰)在什么时候、在什么地斏V€ä»¥ä»€ä¹ˆæ ·çš„æ–¹å¼æ’­æ”¾ã€‚糊涂了吗?J 我们下面一èµäh¥çœ‹çœ‹SMIL的优点(与众不同的地方!åQ‰ï¼š

ä¸ÞZº†æ–¹ä¾¿èµ¯‚§,我们把我们想要完成的作品¿UîC¹‹ä¸ºæ¼”½Cºï¼ˆpresentationåQ‰ã€?

(1)  避免使用¾lŸä¸€çš„包å®ÒŽ–‡ä»¶æ ¼å¼?

å› äØ“æˆ‘ä»¬çš„å¤šåª’ä½“æ–‡äšg的格式的旉™žå¸¸å¤šçš„,例如åQšåƒå£°éŸ³ž®±æœ‰*.mp3ã€?.wavã€?.ra½{‰ç­‰åQ›è§†é¢‘的格式更是多的出奇åQ?.mpgã€?.aviã€?.movã€?.rm½{‰ç­‰åQ›å›¾ç‰‡çš„æ ¼å¼ž®±æ›´åŠ ä¸ç”¨è¯´äº†ã€‚J 如果我们惛_œ¨æœ¬åœ°æœºå™¨ä¸Šç›´æŽ¥æ’­æ”¾æˆ–者在¾|‘络上用‹¹å¼æ’­æ”¾çš„æ–¹å¼æ¥æ’­æ”¾è‹¥å¹²ä¸ªæ–‡ä»¶ã€‚当然我们希望的是不要总让我们自己打开文äšg。而是åQŒåœ¨ä¸Šä¸€ä¸ªæ–‡ä»¶æ’­æ”‘Ö®Œæˆä»¥åŽï¼Œž®±æ’­æ”¾ä¸‹ä¸€ä¸ªã€‚播攑ֈ—è¡¨æ˜¯ä¸ªåŠžæ³•ã€‚ä½†æ˜¯ï¼Œå¦‚æžœæ ¼å¼ä¸ä¸€æ øP¼Œòq¶ä¸”要求多个片断同时播放åQˆä¾‹å¦‚:昄¡¤ºå›„¡‰‡çš„同æ—Óž¼Œæœ‰è§£è¯´çš„声音。图片和声音是两个文ä»Óž¼‰åQŒé‚£ä¹ˆä»¥å‰å”¯ä¸€å¯è¡Œçš„办法就是用对媒体的¾~–辑软äšg把这些多媒体文äšg整合成一个文件。这ž®±å¿…™åȝ»Ÿä¸€ä½¿ç”¨æŸç§æ–‡äšg格式。如果你的源文äšgåQˆå¤šä¸ªå¤šåª’体片断åQ‰æ²¡æœ‰ä¿å­˜å‰¯æœ¬çš„话,在你下次要用其中的某个源文äšg的时候,J 你就后悔åŽÕd§åQå¦‚果我们用SMIL来组¾l‡è¿™äº›å¤šåª’体文äšgåQŒé‚£ä¹ˆå¯ä»¥åœ¨ä¸å¯¹æºæ–‡ä»¶è¿›è¡Œä“Q何修改的情åŞ下,获得我们惌™¦çš„æ•ˆæžœï¼ˆä»Žè¿™é‡Œæ¥çœ‹ï¼ŒSMIL好像是穿珍珠™åšw“¾ç”¨çš„金丝¾U¿ï¼Œåªæ˜¯æŠŠå®ƒä»¬ç©¿èµäh¥¾l„成一个整体,而不会破会它们。)。当然SMIL的功能决非就˜q™ä¹ˆç‚V€‚接下来ž®±æ˜¯åQ?
åQ?åQ‰åŒæ—¶æ’­æ”‘Öœ¨ä¸åŒåœ°æ–¹åQˆæœåŠ¡å™¨ä¸Šï¼‰çš„å¤šåª’ä½“ç‰‡æ–­

如果上面½W¬ä¸€ç‚¹ä½ ˜q˜å¯ä»¥ç”¨å…¶ä»–的办法做刎ͼŒé‚£ä¹ˆ˜q™ä¸€æ¡ææ€•ä½ ž®±æ²¡è¾™äº†?font face="Wingdings">;J 考虑˜q™æ ·ä¸€ä¸ªå®žé™…问题:假如我们现在æƒÏxŠŠä¸€ŒD는µè§†é‡‡è®¿çš„实况åQˆè§†é¢‘æ–‡ä»Óž¼‰åŠ ä¸Šè§£è¯´åQˆåŒ…括声韌™§£è¯ß_¼ˆéŸ³é¢‘æ–‡äšgåQ‰å’Œæ–‡å­—解说åQ‰ã€‚姑且假定例子中的视频文件是甲服务器上的Aæ–‡äšgåQŒéŸ³é¢‘文件是乙服务器上的Bæ–‡äšgåQŒè€Œè§£è¯´æ–‡å­—却是丙服务器上的Cæ–‡äšg。传¾lŸçš„æ–ÒŽ³•在这里就束手无策了(½I·é€”末路了JåQ‰ï¼Œè€ŒSMIL可以非常è½ÀL¾çš„做到这一炏V€?

åQ?åQ‰æ—¶é—´æŽ§åˆ?

如果我们不想用整个视频文ä»Óž¼Œè€Œåªæƒ³ç”¨å…¶ä¸­çš„æŸä¸€éƒ¨åˆ†ã€‚ä¼ ¾lŸçš„æ–ÒŽ³•中唯一可行的就是用剪辑软äšg来剪辑。费时费力不è¯ß_¼Œå¼„不好就弄åéy成拙åQŒæŠŠæƒŒ™¦çš„给剪掉了!而SMIL完成˜q™äšg事真的是易如反掌åQçœ‹˜q™æ ·ä¸€ä¸ªä¾‹å­ï¼šè®¾è§†é¢‘文件A的时间长度是10¿U’,我们要用的是2~5¿U’,其他部分我们不想要,只要用SMIL规定åQšåœ¨è¯¥è§†é¢‘文件A的第二秒开始播放,播放到第五秒¾l“束ž®±å¯ä»¥äº†ã€?

æ—‰™—´æŽ§åˆ¶çš„另外的部分是动ç”Õd’Œè½¬åœºæ•ˆæžœã€‚如果上面的旉™—´æŽ§åˆ¶æ˜¯ä¸¾l¸ï¼Œé‚£ä¹ˆ˜q™ä¸ªž®±æ˜¯åœ¨å®ƒä¸Šé¢çš„双面刺¾l£ï¼åŽé¢æˆ‘们ž®†è¦è¯¦ç»†è®¨è®º˜q™ä¸ªé—®é¢˜ã€‚J

åQ?åQ‰å¯¹æ•´ä¸ªæ¼”示˜q›è¡Œå¸ƒå±€

我们把上面提到的那个例子拿来说明˜q™ä¸ªé—®é¢˜åQšç”±äºŽæˆ‘们有视频、有文字我们希望什么样的布局呢?一般的情åŞ下在一个区åŸ?屏幕的上éƒ?播放视频åQŒåœ¨å¦ä¸€ä¸ªåŒºåŸŸæ˜¾½Cºæ–‡å­—(屏幕的底部)。当ç„Óž¼Œå¦‚果你认为在视频上面昄¡¤ºæ–‡å­—效果更好的话åQŒé‚£ä¹Ÿæ˜¯å¯ä»¥çš„。用SMIL实现˜q™æ ·çš„æ•ˆæžœå¼‚常容易!

åQ?åQ‰å¤šè¯­è¨€é€‰æ‹©æ”¯æŒ

分析˜q™æ ·ä¸€ä¸ªå®žé™…ä¾‹å­ï¼šæˆ‘ä»¬è¦äØ“æŸç§äº§å“ä½œå®£ä¼ ï¼Œå…¶å®£ä¼ å¯¹è±¡æ˜¯å¤šä¸ªå›½å®¶çš„ähåQŒæœ‰è‹Þp¯­å›½å®¶çš„、有法语国家的、有徯‚¯­å›½å®¶çš„ç­‰½{‰ã€‚当然最主要是讲中文的国家的人(我是中国人!åQ‰ã€‚如果我们想要所有的人都可以听懂、看懂我们的介绍åQŒé‚£ä¹ˆæˆ‘们就的准备不同语­a€ç‰ˆæœ¬çš„媒体文件。传¾lŸçš„æ–ÒŽ³•是让用户来选择åQŒç„¶åŽä»ŽæœåŠ¡å™¨ä¸Šä¸‹è²ç›¸åº”çš„ç‰ˆæœ¬ã€‚éº»çƒ¦å°±ä¸ç”¨è®²äº†ã€‚ä¸‡ä¸€æˆ‘ä»¬çš„é€‰æ‹©è€å¤–éƒ½çœ‹ä¸æ‡‚(有时候,我到å¾äh–‡ã€æ—¥æ–‡ã€æœé²œæ–‡çš„站点上åQŒå°±ä¸çŸ¥é“他们讲些什么东西L),˜q™æ€Žä¹ˆåŠžï¼Ÿå¦‚æžœæŠŠä»–ä»¬ç”¨SMIL来组¾l‡è“v来、规定好åQŒé‚£ä¹ˆSMIL语言ž®†æ ¹æ®å…·ä½“的语言讄¡½®æ¥æ’­æ”„¡›¸åº”版本的演示。就是方便!
åQ?åQ‰å¤šå¸¦å®½é€‰æ‹©æ”¯æŒ

ç”׃ºŽå„个用户˜qžæŽ¥åˆ°Internet的方式不ž®½ç›¸åŒï¼Œæ‰€ä»¥å…¶˜qžæŽ¥çš„é€Ÿåº¦å·®åˆ«ä¹Ÿè¾ƒå¤§ã€‚äØ“äº†è®©ä»–ä»¬éƒ½èƒ½å¤Ÿçœ‹åˆ°æˆ‘ä»¬çš„æ¼”ç¤ºåQŒæˆ‘们可以制作适应不同传输速度的演½Cºã€‚在传统的方法中åQŒå¾€å¾€è¦ç”¨æˆ¯‚‡ªå·±é€‰æ‹©ä»–的机器˜qžæŽ¥æ‰€å¯¹åº”的传输速度åQŒç„¶åŽæ’­æ”„¡›¸åº”得演示文äšg。这¼‹®å®žè§£å†³äº†ä¸€äº›é—®é¢˜ã€‚实际上åQŒåƈ不是所有的用户都知道自å·Þqš„˜qžæŽ¥é€Ÿåº¦åQŒå°±æ˜¯çŸ¥é“了åQŒè¿˜å¾—选择不也是非帔Rº»çƒ¦å—åQŸL SMIL解决˜q™ä¸ªé—®é¢˜å¦‚同吹灰åQæ’­æ”‘Ö™¨‹‚€‹¹‹å‡ºç”¨æˆ·çš„连接速度后,ž®±åŒæœåŠ¡å™¨â€œåå•†â€ï¼Œè¦æ±‚ä¼ è¾“òq¶æ’­æ”„¡›¸åº”的演示文äšg。方便乎åQŸè¿™ä¹Ÿå°±æ˜¯æµæŠ€æœ¯ä¸­å¸¸å¸¸è¯´çš„æ™ø™ƒ½‹¹ï¼ˆSurestreamåQ‰ä¸­çš„一¿U?

SMIL语言主要的优点大的方面有以上˜q™äº›ã€‚相信大家在实际应用中,会体会到它更多的优点ã€?

注意åQšæˆ‘ä»¬åœ¨åˆ›å¾SMILæ–‡äšg以前åQŒæˆ‘们要做好以下几äšg事:

1ã€ä¸‹è½½åÆˆå®‰è£…Realone Player。目前,SMIL的版本是2.0,全面支持SMIL的版本是2.0只有Realone PlayeråQæ‰€ä»¥æˆ‘廸™®®å¤§å®¶ä½¿ç”¨å®ƒã€‚大家可以从http://www.realnetworks.com/上下载,国内的很多的¾|‘站上也提供下蝲。下载GOLD版,不要下蝲BETA版ã€?

2、  我们编辑SMIL源文ä»Óž¼ˆ½E‹åºåQ‰ç”¨çš„æ˜¯windows附äšg中的è®îCº‹æœ¬ï¼Œå¸Œæœ›‹‚€æŸ¥ä¸€ä¸‹ä½ çš„记事本是否正常。当ç„Óž¼Œä»ÖM½•普通的文本¾~–辑器都是可以的(ultra Editž®±å¾ˆä¸é”™)åQŒä½†æ˜¯è€ƒè™‘到大家学习的方便åQŒæ•…使用最å®ÒŽ˜“扑ֈ°çš„记事本来编辑ã€?

3、  在我们的学习阶ŒDµï¼Œæˆ‘希望我们大家不要用专门SMIL¾~–辑器。一斚w¢åQŒçŽ°æœ‰çš„˜q™äº›SMIL¾~–辑器不太好用。另一斚w¢åQŒé‚£æ ·ä¹Ÿä¸åˆ©äºŽæˆ‘们彻底理解SMIL语言ã€?
二、 SMIL基本知识

下面我们看一个实际的SMIL的例子(用记事本¾~–写ž®±å¯ä»¥ï¼Œæ³¨æ„åQšåœ¨è‹±æ–‡çŠ¶æ€ä¸‹¾~–辑。也ž®±æ˜¯ä¸è¦æ‰“开中文输入法。因为SMILæ’­æ”¾å™¨ä¸è®¤è¯†ä¸­æ–‡çš„æ ‡ç‚¹ç¬¦åøP¼åQ‰ï¼š

< smil>;

 < head>;

  < meta name="copyright" content="Your Name" />;

  < layout>;

   < !-- layout 标记 -->;

  < /layout>;

 < /head>;

 < body>;

  < !—媒体标變W?->;

  < img src="image1.jpg"/>;

 < /body>;

< /smil>;

    昄¡„¶åQŒSMILå’ŒHTML语言的语法格式非常相像!所以,如果大家对HTML熟悉的话åQŒSMIL学习èµäh¥ž®±å¾ˆå®ÒŽ˜“。但是,二者的差别是很大的åQŒæ‰€ä»¥å¦‚果想学的很好åQŒå¤§å®¶ä¸€å®šè¦è®¤çœŸåœ°å­¦åQ?

从上面这个例子可以看出:

åQ?åQ‰Â Â Â Â Â Â Â SMIL½E‹åºä»?lt;smil>;开始,ä»?lt;/smil>;¾l“束ã€?

SMILå¿…é¡»ä»?lt;smil>;开始,ä»?lt;/smil>;¾l“束åQŒå…¶ä»–的一切标记都在这二者之间。这个和HTML好像是一æ ïLš„ã€?

åQ?åQ‰Â Â Â Â Â Â Â æ•´ä¸ªç¨‹åºç”±bodyå’Œhead两个部分¾l„成

其中body是必™å»è¦æœ‰çš„。而head部分则看实际情况。如果需要的话,我们ž®±å†™ã€‚若是整个SMIL½E‹åºéžå¸¸½Ž€å•åÆˆä¸”æ²¡æœ‰å¿…è¦ç”¨head部分åQŒé‚£ä¹ˆï¼Œæˆ‘们可以不写。从个äh的经验来看,如果要写å‡ÞZ¸€ä¸ªæ•ˆæžœå¥½çš„æ¼”½Cºï¼Œhead部分是必不可ž®‘çš„åQJ
åQ?åQ‰Â Â Â Â Â Â Â å±žæ€§å’Œæ ‡è®°è¦æ±‚ž®å†™

SMIL要求其标记和标记的属性必™åÕd°å†™ï¼

我们在这里不想给出属性和标记的定义。SMIL语言ž®±æ˜¯ç”±æ ‡è®°ç»„成的。每一行都是标讎ͼŒè€Œæ ‡è®°åŸºæœ¬ä¸Šéƒ½æœ‰å±žæ€§ã€‚例如:< img src="image1.jpg"/>;中,img是标讎ͼŒè€Œsrc是属性,image1.jpg是src的属性倹{€‚注意:属性值可以大ž®å†™éƒ½å¯ä»¥ã€‚后面我们会¼„°åˆ°æœ‰äº›å±žæ€§å€ÆD¦æ±‚骆驼写法。什么是骆驼写法åQŸåƒfadeTocolor˜q™æ ·çš„属性å€û|¼ˆçœ‹çœ‹åQŒä¸­é—´é«˜åQŒä¸¤è¾¹ä½ŽåQŒæ˜¯ä¸æ˜¯éžå¸¸åƒéª†é©¼çš„驼峰åQŸJåQ‰å°±æ˜¯éª†é©¼å†™æ³•ã€?

åQ?åQ‰Â Â Â Â Â Â Â æœ‰äº›æ ‡è®°å¿…™åÀLœ‰ä¸€æ–œæ ä½œäØ“¾l“束标记

在SMIL中,如果标记不是配对标记åQˆä¾‹å¦‚:< smil>;< /smil>;ã€?lt; head>;< /head>;ã€?lt; body>;< /body>;½{‰ï¼‰åQŒé‚£ä¹ˆï¼Œå¿…é¡»æœ‰ä¸€æ–œæ ä½œäØ“¾l“束标记åQˆä¾‹å¦‚:< img src="image1.jpg"/>;åQ‰ã€?

åQ?åQ‰Â Â Â Â Â Â Â å±žæ€§å€¼å¿…™åȝ”¨åŒå¼•åäh‹¬èµäh¥

例如åQšsrc="image1.jpg"。注意:SMILæ–‡äšg中出现的文äšg名必™åÕd’ŒæœåŠ¡å™¨ä¸Šçš„æ–‡ä»¶åä¸€è‡ß_¼Œå…¶èµ\径一定要正确。否则,SMIL播放器找不到该文件ã€?

åQ?åQ‰Â Â Â Â Â Â Â SMILæ–‡äšg的拓展名ä¸?.smil或è€?.smi

我们必须ä»?.smil或è€?.smi的拓展名来保存SMILæ–‡äšg。这样SMIL播放器才能认出SMILæ–‡äšgåQŒä»¥é‡‡ç”¨æ­£ç¡®çš„è§£ç æ–¹å¼è§£ç ã€æ’­æ”¾ã€‚äØ“äº†é˜²æ­¢ä¸Žå…¶å®ƒ¾cÕdž‹æ–‡äšg的拓展名冲突åQŒå¼ºçƒˆå¾è®®é‡‡ç”?.smil˜q™ä¸ªæ‹“展名!注意åQšæ–‡ä»¶åå¿…é¡»æ˜¯ä»¥æ•°å­—ã€å­—æ¯å¼€å§‹çš„åQŒä¸­é—´å¯ä»¥æœ‰ä¸‹åˆ’¾U¿ï¼Œä¸å¯ä»¥æœ‰½Iºæ ¼ã€‚例如:test_one.smil可以åQŒè€Œtest one.smil坚决不行åQå¦‚果你喜欢的话åQŒå¯ä»¥ç”¨æˆ‘们上面讲的骆驼写法testOne.smil。注意:上面的例子大家可以原版复åˆÓž¼Œä¿å­˜ä¸ºtestOne.smilã€‚åÆˆä¸”æ‰¾ä¸€ä¸ªå›¾ç‰‡æ”¾åˆ°testOne.smil同一个文件夹下,òq¶å°†image1.jpgæ”ÒŽˆä½ çš„囄¡‰‡çš„名字(后面如果没有ç‰ÒŽ®Šè¯´æ˜ŽåQŒéƒ½å¾—这么做åQ‰ï¼Œž®±å¯ä»¥ç”¨Realone player打开该源½E‹åºåQŒçœ‹çœ‹æˆ‘们的½W¬ä¸€ä¸ªæ¼”½Cºçš„æ•ˆæžœäº†ã€‚J

åQ?åQ‰Â Â Â Â Â Â Â é™„加信息写åœ?lt; head>;< /head>;之间

如果我们有些关于源代码的一些说明也ž®±æ˜¯é™„加信息åQŒä¾‹å¦‚版权、作者、标题、基地址½{‰ç­‰åQŒæˆ‘们可以在< head>;< /head>;中说明。其基本的格式是åQ?lt; meta name=" " content=" " />;åQŒä¾‹å¦‚:< meta name="author " content="litterone " />;< meta name="title " content="I want to learn SMI:L " />;ã€?

åQ?åQ‰Â Â Â Â Â Â Â ç”¨< !-- …Â?->;˜q›è¡Œæ³¨é‡Š

˜q™ä¸ªæ ‡è®°å’ŒHTML里面的是一扬的。我们可以对我们的源文äšg˜q›è¡Œæ³¨é‡Šã€‚SMIL播放器遇到这个标记后åQŒå°†è·Œ™¿‡åŽ»è€Œä¸äºˆç†ç¬ã€‚ä¾‹å¦‚ï¼šæˆ‘ä»¬å¯ä»¥åœ¨å†™æºä»£ç ä»¥å‰ï¼Œž®†æˆ‘们想要实现的效果åœ?lt; !-- …Â?->;中写出来åQŒç„¶åŽåœ¨¾~–写源代码,假如我们忘记了删除该ŒDµè¯´æ˜Žï¼Œä¹Ÿä¸ä¼šåª„响演½Cºçš„æ‰§è¡Œã€?

上面½Ž€å•介¾läº†SMIL语言的基本知识,接下来要详详¾l†ç»†åœ°å­¦ä¹ SMILåQ?

 
三、 SMIL详细解析SMIL语言的内容很多,我们从最常用的开始谈赗÷€‚(准备好了吗?上èµ\了!åQ?、  多媒体片断¾l“æž„¾l„织åQ?åQ?lt; seq>;< /seq>;标记我们首先看下面这个例子:< smil>; < head>; < /head>; < body>;< seq>;< img src="image1.jpg"/>;< img src="image2.jpg"/>;< /seq>; < /body>;< /smil>;请保存(记得要用*.smil˜q™æ ·çš„æ–‡ä»¶æ ¼å¼Â JåQ‰åƈ˜qè¡Œè¯¥æº½E‹åºçœ‹çœ‹æ•ˆæžœã€‚æˆ‘ç›æ€¿¡å¦‚果大家看到的是˜q™æ ·çš„æ•ˆæžœï¼šRealone player先显½Cºimage1.jpgåQŒç„¶åŽæ˜¾½Cºimage2.jpg。这ž®±æ˜¯æˆ‘们˜q™é‡Œç”?lt; seq>;< /seq>;˜q™å¯¹™åºåºæ’­æ”¾æ ‡è®°è§„定的结果ã€?lt; seq>;< /seq>;规定的是åQšåœ¨< seq>;< /seq>;中间的多媒体片断™åºåºæ’­æ”¾ã€‚如下图所½Cºã€‚         (2åQ‰Â?lt;par>;< /par>;标记
接下来瞧瞧这个例子:< smil>; < head>; < /head>; < body>;< par>;< img src="image1.jpg"/>;< img src="image2.jpg"/>;< /par>; < /body>;< /smil>;保存->;˜qè¡Œ->;看效果。Realone player同时昄¡¤ºimage1.jpgå’Œimage2.jpg。这ž®±æ˜¯æˆ‘们˜q™é‡Œç”?lt; par>;< /par>;˜q™å¯¹òq¶è¡Œæ’­æ”¾æ ‡è®°æ‰€å¾—到的结果ã€?lt; par>;< /par>;规定的是åQšåœ¨< par>;< /par>;中间的多媒体片断òq¶è¡Œæ’­æ”¾ã€‚如下图所½Cºã€‚ (3åQ?lt; seq>;< /seq>;å’?lt; par>;< /par>;标记协同使用分析下面˜q™ä¸ªä¾‹å­åQ?lt; 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>;
˜q™ä¸ªä¾‹å­çš„æ•ˆæžœæ˜¯˜q™æ ·çš„:Realone player先显½Cºimage1.jpgåQŒæŽ¥ä¸‹æ¥åŒæ—¶æ˜„¡¤ºimage2.jpgå’Œimage3.jpg, 然后昄¡¤ºimage4.jpgã€‚äØ“ä»€ä¹ˆä¼š˜q™æ ·?其中原因我想大家一定非常清楚了。我ž®×ƒ¸¾|—嗦了。J
有了< seq>;< /seq>;å’?lt; par>;< /par>;˜q™æ ·ä¸¤å¯¹æ ‡è®°åŽï¼Œæˆ‘们对多媒体片断播放的先后顺序的控制ž®±å˜å¾—非常方便了。但是,我们上面的这些演½Cø™™½è¯´æ˜¯æ¼”示了。但是,它们的显½Cºæ—¶é—´å¥½åƒæ²¡æœ‰å—到我们的控制。接下来着手解册™¿™ä¸ªé—®é¢˜ã€?
2、  时间控�
åQ?åQ‰dur属æ€?
请大家看看下面这ŒDµä»£ç çš„æ•ˆæžœã€?
< smil>;
 < head>;
 < /head>;
 < body>;
< seq>;
< img src="image1.jpg" dur="5s"/>;
< img src="image2.jpg" dur="10s"/ >;
< /seq>;
 < /body>;
< /smil>;
ç›æ€¿¡å¤§å®¶å·²ç»çœ‹å‡ºé—¨é“了!对了åQŒæˆ‘们这里对image1.jpgå’Œimage2.jpg的持¾l­æ—¶é—´åšäº†è§„定。其中image1.jpg持箋旉™—´5¿U’,image2.jpg持箋旉™—´10¿U’ã€?
åQ?åQ‰beginå’Œend属æ€?
上面规定的是播放多长旉™—´åQŒæˆ‘们也惌™§„定在什么时候开始播放。请看下面的½E‹åºã€?
< smil>;
 < head>;
 < /head>;
 < body>;
< img src="image1.jpg" begin="2" dur="5s"/>;
 < /body>;
< /smil>;
˜q™ä¸ªä¾‹å­çš„æ•ˆæžœæ˜¯˜q™æ ·çš„:Realone player先显½Cºimage1.jpgåQŒæŽ¥ä¸‹æ¥åŒæ—¶æ˜„¡¤ºimage2.jpgå’Œimage3.jpg, 然后昄¡¤ºimage4.jpgã€‚äØ“ä»€ä¹ˆä¼š˜q™æ ·?其中原因我想大家一定非常清楚了。我ž®×ƒ¸¾|—嗦了。J
有了< seq>;< /seq>;å’?lt; par>;< /par>;˜q™æ ·ä¸¤å¯¹æ ‡è®°åŽï¼Œæˆ‘们对多媒体片断播放的先后顺序的控制ž®±å˜å¾—非常方便了。但是,我们上面的这些演½Cø™™½è¯´æ˜¯æ¼”示了。但是,它们的显½Cºæ—¶é—´å¥½åƒæ²¡æœ‰å—到我们的控制。接下来着手解册™¿™ä¸ªé—®é¢˜ã€?
2、  时间控�
åQ?åQ‰dur属æ€?
请大家看看下面这ŒDµä»£ç çš„æ•ˆæžœã€?
< smil>;
 < head>;
 < /head>;
 < body>;
< seq>;
< img src="image1.jpg" dur="5s"/>;
< img src="image2.jpg" dur="10s"/ >;
< /seq>;
 < /body>;
< /smil>;
ç›æ€¿¡å¤§å®¶å·²ç»çœ‹å‡ºé—¨é“了!对了åQŒæˆ‘们这里对image1.jpgå’Œimage2.jpg的持¾l­æ—¶é—´åšäº†è§„定。其中image1.jpg持箋旉™—´5¿U’,image2.jpg持箋旉™—´10¿U’ã€?
åQ?åQ‰beginå’Œend属æ€?
上面规定的是播放多长旉™—´åQŒæˆ‘们也惌™§„定在什么时候开始播放。请看下面的½E‹åºã€?
< smil>;
 < head>;
 < /head>;
 < body>;
< img src="image1.jpg" begin="2" dur="5s"/>;
 < /body>;
< /smil>;
 
上面的这ŒD늨‹åºè§„定就是图片image1.jpg在整个演½Cø™¿›è¡?¿U’后åQŒå¼€å§‹æ˜¾½Cºï¼ŒæŒç®‹çš„æ—¶é—´æ˜¯5¿U’ã€‚å¯¹äºŽå›¾ç‰‡çš„æŽ§åˆ¶æ˜¯è¿™æ øP¼Œè€Œæˆ‘们常帔Rœ€è¦å¯¹è§†é¢‘/音频的时间进行控制。下面这个例子来说明˜q™ä¸ªé—®é¢˜ã€?
< smil>;
 < head>;
 < /head>;
 < body>;
< video src="test.rm" begin="5s" end="40s"/>;
 < /body>;
< /smil>;
test.rm˜q™ä¸ªè§†é¢‘æ–‡äšgåQˆå¦‚果大家手头上没有*.rm格式文äšgåQŒå°±ç”¨Realone playerçš„firstrun.rm或者找ä¸?.avi的也可以。但是文件名要写对!åQ‰åœ¨æ•´ä¸ªæ¼”示开å§?¿U’后开始播放,在整个演½Cºæ’­æ”?0¿U’以后,ž®Þq»“束播放。实际的播放旉™—´æ˜¯ï¼š40-5=35¿U’。但是,一般情形下åQŒæˆ‘们的视频æ€Õdœ¨ä¸€ä¸ªç»„中,˜q™æ—¶å€™ï¼Œä»–就的服从组的时间了。我们那下面的这个例子来解释˜q™é—®é¢˜ã€?
< smil>; 
 < body>;
< seq dur="5">;
< img src="image1.jpg" begin="2" dur="10"/>;
< /seq>;
 < /body>;
< /smil>;
image1.jpg所在的¾l„的持箋旉™—´ä¸?¿U’,而image1.jpg自己要求持箋10¿U’,˜q™æ˜¯ä¸è¡Œçš„。实际上image1.jpg的显½Cºæ—¶é—´åªæœ?-2=3¿U’!大家在以后写½E‹åºçš„æ—¶å€™è¦æ³¨æ„˜q™ä¸ªé—®é¢˜ã€?
åQ?åQ‰clip-beginå’Œclip-end属æ€?
考虑˜q™æ ·ä¸€¿Uæ•ˆæžœï¼š
我们只要test.rm播放˜q™ä¸ªè§†é¢‘/音频çš?~10¿U’这个时间断åQŒæ€Žä¹ˆåŠžï¼ŸåQŸï¼ŸJ有了clip-beginå’Œclip-endåQŒé—®é¢˜å°±å¾ˆç®€å•了åQè¯·çœ‹ï¼š
 
< smil>;  < body>;< video src="test.rm" clip-begin="5s" clip-end="10s"/>; < /body>;< /smil>;clip-beginå’Œclip-end属性是用内部时间控制的属性。这里的内部指的ž®±æ˜¯å¤šåª’体片断自å·Þqš„æ—‰™—´¾U¿ï¼ˆtimelineåQ‰ã€‚前者规定在什么地方开始播放,后者规定放åˆîC»€ä¹ˆåœ°æ–¹ç»“æŸæ’­æ”¾ã€‚äØ“äº†æ›´æ¸…æ¥šçš„ç†è§£è¿™äº›æ—¶é—´æŽ§åˆÓž¼Œæˆ‘们看下面的˜q™ä¸ªä¾‹å­åQ?lt; smil>;  < body>;< par>;  < audio src="testone.rm" clip-begin="5" dur="10s"/>;  < audio src="testtwo.rm" begin="7s" clip-begin="2s"clip-end="15s"/>;  < /par>; < /body>;< /smil>;看看下面˜q™ä¸ª½Cºæ„å›¾ï¼šÂ æ˜„¡„¶åQŒé¦–先是testone.rm从自å·Þqš„5¿U’处开始播放,播放7¿U’以后,testtwo.rm从自å·Þqš„2¿U’处开始与testone.rm一èµäh’­æ”¾ï¼Œtestone.rm播放到自己得15¿U’处停止播放åQŒtestone.rm播放äº?5-5=10¿U’。testtwo.rm播放到自己得15¿U’处停止播放åQŒtestone.rm播放äº?5-2=13¿U’。图中灰è‰ÔŒ¼ˆé»„色åQ‰éƒ¨åˆ†è¡¨½Cºæ’­æ”„¡š„部分。Â?
接下来我们对旉™—´çš„表½Cºæ–¹æ³•做个说明(默认的时间是¿U’,所ä»?2s" ã€?2.0s"å’?2"都是一æ ïLš„ åQ‰ï¼š
æ—‰™—´æ ‡è®° 指代 例子 说明
h ž®æ—¶ 1.5h 1ž®æ—¶30分钟
min 分钟 4.75min 4åˆ?5¿U?
s ¿U?10.45 10¿U?50毫秒
正确的时间写法是åQšÂ hh:mm:ss.xy。hh表示ž®æ—¶åQ›mm表示分钟åQ›ss表示¿U’ï¼›x表示1/10¿U’ï¼›y表示1/100¿U’。例如:begin="01:40.0"表示的是1åˆ?0¿U’处开始,而begin="01:40"表示的是1ž®æ—¶40分处开始。真的注意呀Jã€?
æ—‰™—´æŽ§åˆ¶éžå¸¸é‡è¦åQŒå®ƒç›´æŽ¥å½±å“æˆ‘们演示的效果。而我们上面讲的这部分是最重要的,所以大家一定要理解上面的各个时间概念及其含义ã€?
åQ?åQ‰fill属æ€?
当演½CÞZ¸­çš„æŸä¸ªç‰‡æ–­æ’­æ”‘Ö®Œæˆä»¥åŽï¼Œæˆ‘们可以用fill属性来规定它的昄¡¤ºçŠ¶æ€ã€‚ç®€å•çš„è¯´å°±æ˜¯æˆ‘ä»¬æ˜¯æ¸…å±˜q˜æ˜¯å†È»“屏幕。看下面˜q™ä¸ªä¾‹å­åQ?
< smil>; 
 < body>;
< video src="test.rm" dur="30s" fill="freeze"/>;
 < /body>;
< /smil>;
假设test.rm的长度是20¿U’,那么我们˜q™é‡Œè§„定的就是:在test.rm播放¾lˆäº†ä»¥åŽåQŒå±òq•上昄¡¤ºçš„æ˜¯test.rm的最后一帧(通俗的说ž®±æ˜¯æœ€åŽä¸€òq…画面)åQŒæ˜¾½Cºçš„æ—‰™—´æ˜?0-20=10¿U’;如果是图片的话,那么昄¡¤ºž®±æ˜¯å›„¡‰‡ã€?
Fill属性只有removeå’Œfreeze两个åQŒé»˜è®¤çš„å€égØ“remove。徏议大家在演示的最后的一个多媒体片断上用å†È»“åQˆfreezeåQ‰ï¼Œä»¥é˜²æ­¢å±òq•上½Iºç©ºå¦‚也åQJ
åQ?åQ‰repeat属æ€?
如果我们希望我们演示中的某个片断或者全部的片断重复播放若干‹Æ¡ï¼ˆå§‘ä¸”è®¾äØ“2‹Æ¡ï¼‰ã€‚那么我们可以后用repeat属性来实现该效果。分析下面这个例子:
 
< smil>; 
 < body>;
< vedio src="test.rm" dur="1min" repeat="2"/>;
 < /body>;
< /smil>;
上面˜q™ä¸ªä¾‹å­ž®±æ˜¯è®©test.rm播放两次。如果我们想让某个片断一直播放下去(¾|‘络光广告上可以考虑˜q™ä¸ªåQ‰ï¼Œé‚£ä¹ˆrepeat="indefinite"ž®±å¯ä»¥äº†ã€‚当ç„Óž¼ŒæƒŒ™¦å®ƒåœä¸‹æ¥çš„一¿Uæ–¹æ³•是按下播放器stopåQˆåœæ­¢ï¼‰é”®ï¼ˆåœ¨ç½‘™å‰|’件中ž®±æ˜¯å³é”®èœå•中的stopåQ‰ï¼›å¦å¤–的一¿UåŠžæ³?大家都知道的)是关闭计½Ž—机åQJ
3、    布局设计
我们˜q™é‡Œæ‰€è¯´çš„布局ž®±æ˜¯åœ¨æˆ‘们的屏幕上定出各个多媒体片断昄¡¤ºçš„位¾|®ï¼ˆå•纯的声éŸÏx–‡ä»¶æ˜¯ä¸éœ€è¦å¸ƒå±€çš„!ä¸ÞZ»€ä¹ˆï¼ŸJÂ å› äØ“æˆ‘ä»¬çš„è€Ïxœµå¬ä¸å‡ºå£°éŸ›_œ¨å±å¹•上的什么地方;而我们的眼睛可以看到囄¡‰‡ã€åЍç”Õd’Œæ–‡å­—在什么地方!åQ‰ï¼Œå‡†ç¡®åœ°è¯´æ˜¯åœ¨æ’­æ”¾å™¨ä¸­ã€‚从前面我们òq¶è¡Œæ’­æ”¾çš„例子可以看出来åQŒå¦‚果我们不对布局˜q›è¡Œè®¾è®¡åQŒé‚£ä¹ˆæ˜¾½Cºçš„æ•ˆæžœä¸€å¡Œç³Šæ¶‚!˜q™é‡Œæ˜¯SMIL的重点和¾_‘֍Žéƒ¨åˆ†ä¹‹ä¸€åQŒæ‰“èµïL²¾¼œžï¼ŒLet’s goåQ?
åQ?åQ‰Â Â Â Â Â Â Â å®šä¹‰åŸºæœ¬æ˜¾½Cºçª—å?
看下面的代码åQ?
< smil>;
 < head>;
  < layout>;
   < root-layout width="300" height="200" background-color="white" />;
  < /layout>;
 < /head>;
 < body>;
 < /body>;
< /smil>;
说明åQša、  布局标记必须ä»?lt; layout>;å¼€å¤ß_¼Œä»?lt; /layout>;¾l“束åQŒå…¶ä»–具体的标记都在˜q™ä¸­é—´ã€?lt; layout>;< /layout>;必须攑֜¨< head>;< /head>;之间ã€?
b、  root-layout标记表明的是规定最基本的、最底层的窗口。其他一切窗口都在它的基¼‹€ä¸Šåˆ’分出来ã€?
c、  width="300" 表明½H—å£å®½äØ“300个像素点åQ›height="200"表明½H—å£é«˜äØ“200个像素点åQ›background-color="black"表明½H—å£çš„èƒŒæ™¯é¢œè‰²äØ“é»‘è‰²ã€‚è¿™é‡Œä¹Ÿå¯ä»¥ç”¨é¢œè‰²ä»£ç ã€‚ä¾‹å¦‚ï¼šbackground-color="#000000"。个人更喜欢代码åQŒå› ä¸ºé¢œè‰²ä»£ç è¡¨è¾ùN¢œè‰²ä¼—多,但是代码不直观ã€?
åQ?åQ‰Â Â Â Â Â Â Â å®šä¹‰å¤šåª’体片断昄¡¤º½H—口
分析下面˜q™æ®µæºç¨‹åºï¼š
< 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>;
说明åQ?
aã€?lt; region id="vedio_region" left="5" top="5" width="290" height="260" />;定义多媒体片断显½Cºçª—口,它的id是vedio_regionåQŒè¿™ä¸ªid是必™å»è¦çš„(在SMIL中,有的idåäh˜¯å¯ä»¥çœç•¥çš„ï¼Œä½†æ˜¯æˆ‘ä»¬å»ø™®®å¤§å®¶éƒ½å†™ä¸Šï¼Œ˜q™æ ·å¾ˆå®¹æ˜“把整个SMILæ–‡äšg的脉¾lœå¼„清楚åQ‰ï¼¼›»é¡¶ç«¯å’Œå·¦æ®µå„有5个像素点的距¼›»ï¼ˆæ³¨æ„åQšè¿™é‡Œçš„坐标是相对基本显½Cºçª—口而言åQï¼‰ã€‚窗口宽ä¸?90个像素点åQ›é«˜ä¸?60个像素点。下面的昄¡¤º½H—口的定义和˜q™ä¸ªæ˜¯ä¸€æ ïLš„ã€?
bã€?lt; vedio src="test.rm" region="vedio_region" />;声明了多媒体片断test.rm在vedio_region˜q™ä¸ªåŒºåŸŸæ’­æ”¾åQ?lt; text src="test.txt" region="text_region"/>;声明了文本文件test.txt在vedio_region˜q™ä¸ªåŒºåŸŸæ˜„¡¤ºã€?
该例子布局效果如下图:
 
    上面我们对多媒体片断昄¡¤º½H—口的采用的是绝对定义的æ–ÒŽ³•。多媒体片断昄¡¤º½H—口也可以用相对定义的方法来定义。例如:
<region id="vedio_region" top="10%" left="10%" width="80%" height="80%"/>;
上面的比例是相对基本昄¡¤º½H—口而言的。这æ ïLš„定义æ–ÒŽ³•æ›´äØ“ç›´è§‚ã€?
åQ?åQ‰Â Â Â Â Â Â Â fit属æ€?
在实际制作演½Cºçš„æ—¶å€™ï¼Œæˆ‘们¼„°åˆ°äº†è¿™æ ïLš„问题åQšæˆ‘ä»¬å®šä¹‰çš„æ˜„¡¤º½H—口的大ž®å’Œæˆ‘们的多媒体片断的尺寸大ž®ä¸ä¸€è‡ß_¼Œæˆ–大了或ž®äº†ã€‚相信大家也会碰到这æ ïLš„问题。解决的办法有:
 
a、  修改窗口的大小åQˆä½†æ˜¯ï¼Œå¾ˆå¤šæ—¶å€™æˆ‘们没有办法修攏V€‚因为,如果修改的话åQŒé‚£ä¹ˆä¼šå½±å“å…¶ä»–½H—口的显½Cºã€‚相应的其它½H—口也得修改。实际情冉|˜¯åQšæˆ‘ä»¬å¾ˆå¤šçš„ä¸åŒž®ºå¯¸çš„多媒体片断都可能在同一个窗口中昄¡¤ºåQï¼‰ã€?
b、  ä‹É用恰当的多媒体片断和½H—口的匹配方式ã€?
看小面这ŒDµä»£ç ï¼š
< region id="vedio_region" width="80%" height="80%" fit="meet"/>;
它的意思就是窗口vedio_region以meet方式昄¡¤ºå¤šåª’体片断ã€?
fit属性的属性值有hidden、meet、fill、scrollå’Œslice四个。其中hidden是默认的属性倹{€?
Hidden表示保持多媒体片断的ž®ºå¯¸ä¸å˜åQŒä»Ž½H—口的左上角开始显½Cºã€‚如果多媒体片断ž®ºå¯¸æ¯”窗口的ž®ºå¯¸ž®ï¼Œé‚£ä¹ˆ½Iºç™½çš„地方将用背景色填充。如果多媒体片断ž®ºå¯¸æ¯”窗口的ž®ºå¯¸å¤§ï¼Œé‚£ä¹ˆå¤šåª’体片断超出窗口部分被裁去åQŒä¸è¢«æ˜¾½Cºã€‚个äºÞZ¸å–œæ¬¢˜q™æ ·çš„æ–¹å¼ã€?
meet表示在保持多媒体片断å®?高比例不变的情况下,对多媒体片断的尺寸进行羃放。从左上角开始显½Cºï¼Œ¾~©æ”¾åˆ°é«˜åº¦å’Œå®½åº¦ä¸­çš„一个尺寸等于窗口的相应的尺寸,而另外的一个小于窗口的相应的尺寸。空白处用背景色填充。我喜欢˜q™ä¸ªåQ?
fill表示¾~©æ”¾å¤šåª’体片断ä‹É得其大小正好和窗口的大小一致。如果多媒体片断的宽/高比例和½H—口的宽/高比例不½{‰ï¼Œé‚£ä¹ˆå¤šåª’体片断就会变形,非常隄¡œ‹ã€‚强烈徏议不要采用这¿Uæ–¹å¼ï¼
scrollè¡¨ç¤ºå¯¹å¤šåª’ä½“ç‰‡æ–­çš„å°ºå¯æ€¸åšä»€ä¹ˆä¿®æ”¹ï¼Œå®ƒä»¥æ­£å¸¸çš„尺寸大ž®æ˜¾½Cºã€‚但是,如果多媒体片断的ž®ºå¯¸­‘…出了窗口的ž®ºå¯¸åQŒé‚£ä¹ˆå°†ä¼šç›¸åº”出现水òqÏxˆ–者垂直滚动条。该¿Uå‘式适合于长旉™—´çš„多媒体片断的显½Cºã€‚如果多媒体片断的显½Cºæ—¶é—´å¾ˆçŸ­ï¼Œå»ø™®®ä¸è¦ä½¿ç”¨åQ?
slice表示在保持多媒体片断å®?高比例不变的情况下,对多媒体片断的尺寸进行羃放。从左上角开始显½Cºï¼Œ¾~©æ”¾åˆ°é«˜åº¦å’Œå®½åº¦ä¸­çš„一个尺寸等于窗口的相应的尺寸,而另外的一个大于窗口的相应的尺寸。超出的不分被裁去而不昄¡¤ºã€?
 
各个匚w…çš„æ•ˆæžœè¯·å‚见下图åQˆçœåŽ»scroll效果åQ?
 
åQ?åQ‰z-index属æ€?
先试˜qè¡Œä¸‹é¢çš„æº½E‹åºåQ?
< smil>;
 < head>;
  < layout>;
   < root-layout width="300" height="300" />;
   < region id="vedio1_region" width="300" height="300" />;
   < region id="vedio2_region" left="270" top="270" width="30" height="30" />;
  < /layout>;
 < /head>;
 < body>;
< par>;
  < vedio src="testone.rm" region="vedio1_region"/>;
  < vedio src="testtwo.rm" region="vedio2_region" />;
< /par>; 
< /body>;
< /smil>;
 
我想大家已经看出来了åQšæˆ‘ä»¬è¿™é‡Œæƒ³åšçš„ž®±æ˜¯é‚£ç§ç”µè§†çš„画中画效果。但是在实际昄¡¤ºçš„æ—¶å€™ï¼Œæˆ‘们的小画面有时候被大画面所覆盖。我的苦心也白费了。z-index属性这个时候是我们的救星ã€?
修改< region id="vedio1_region" width="300" height="300" />;
   < region id="vedio2_region" left="270" top="270" width="30" height="30" />;
成:< 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" />;
在看看效果,行了吗?J
z-index属性规定相互重叠的½H—口的显½Cºæ¬¡åºã€‚数字大那么昄¡¤ºž®±åœ¨ä¸Šé¢ã€‚这个很å®ÒŽ˜“理解åQŒæˆ‘们就不说太多。但是以下几点要注意åQ?
a、root层窗口æ€ÀL˜¯åœ¨æœ€åŽä¸€å±‚,òq¶ä¸”不用z-index属性ã€?
b、z-index属性值可以是负数。当然它ž®Þqš„æŽ’在0以后ã€?
c、  没有重叠的½H—口可以使用同一z-index属性倹{€?
4、    链接制�
传统的流媒体的最大的一个弊端是没有交互性(InteractionåQ‰ã€‚现在如日中天的flash本质上就是一¿Uå¯äº¤äº’性的‹¹ï¼ç”±æ­¤å¯è§å¯äº¤äº’性的‹¹çš„市场潜力。而SMIL是解军_¤§éƒ¨åˆ†‹¹åª’体交互性的最好的工具åQè¿™éƒ¨åˆ†è¦æ±‚大家必须掌握åQŒå¦‚果没有的话,那么我们学习SMILž®±å¤±åŽÖMº†æ„ä¹‰ã€‚因䏸™¿™é‡Œæ˜¯SMIL的主要特è‰ÔŒ¼ˆä¸Žå…¶ä»–的视频¾~–辑软äšg相比较)åQŒå°±å¥½åƒæŒ‡é’ˆæ˜¯C语言的特色一栗÷€?
åQ?åQ?lt; a>;< /a>;标记
˜qè¡Œä¸‹é¢˜q™ä¸ª½E‹åºåQ?
< smil>;
< head>;
< layout>;
      < root-layout width="300" height="300"/>;      
      < region id="videoregion" top="0" left="0" width="300" height="300"/>;      
< layout>;
< /head>;
< body>;
 
< a href="1.rm">;
   < video src="videotest.rm" region="videoregion"/>;
< /a>;
< /body>;
< /smil>;
正常情况下,我们看到播放器播放videotest.rmåQŒå¦‚果我们把鼠标攑ֈ°æ­£åœ¨æ’­æ”¾çš„videotest.rm上面åQŒé¼ æ ‡å°†æœ‰æŒ‡é’ˆåŞ状变为小手åŞ状。单击鼠标左键,播放器播攑ְ†åœæ­¢æ’­æ”¾videotest.rm而播æ”?.rm˜q™ä¸ªæ–‡äšg。这里我们就成功的创å»ÞZº†ä¸€ä¸ªå¾ˆ½Ž€å•的链接ã€?lt;a>;</a>;属性就是用于链接标讎ͼŒhref表示的是所要链接的文äšg。这¿Uæ–¹æ³•非常简单,我们ž®×ƒ¸åšè¿‡å¤šçš„介绍ã€?
如果我们要创建更加复杂的链接åQŒæˆ‘们就要用åˆîC¸‹é¢çš„˜q™ä¸ªå±žæ€§ã€?
åQ?åQ?lt; anchor>;属æ€?
ž®†ä¸Šä¾‹ä¸­çš?lt; body>;< /body>;换成下面˜q™æ®µä»£ç åQŒçœ‹çœ‹æ•ˆæžœæ˜¯ä¸æ˜¯æœ‰åŒºåˆ«ï¼Ÿ
< body>;
   < video src="videotest.rm" region="videoregion">;
< anchor href="1.rm"/>;
   < /video>;
< /body>;
我们看到的效果是完全一æ ïLš„åQé‚£ä¹?lt;anchor>;属性不ž®±å¤šä½™äº†å—? 那是不会的!JJè¯ïLœ‹åQ?
a、  分时断链接
考虑˜q™æ ·ä¸€ä¸ªé—®é¢˜ï¼šæˆ‘们要在0~10¿U’链åˆîC¸€ä¸ªæ–‡ä»Óž¼Œ10~20¿U’链到另一个文ä»Óž¼Œè¯¥æ€Žä¹ˆåŠžï¼Ÿçœ‹æˆ‘ä»¬çš„åQ?
< body>;
< video src="1.avi" region="videoregion">;
  < anchor href="1.jpg" begin="0s" end="10s" >;
  < anchor href="videotest.rm" begin="10s" end="20s" />;
< /video>;
 大家ž®†çœ‹åˆ°çš„æ•ˆæžœåQšæ’­æ”‘Ö™¨æ’­æ”¾1.aviåQŒåœ¨0~10¿U’链åˆ?.jpgåQŒåœ¨10~20¿U’链到videotest.rm。警告:dur、clip-beginå’Œclip-end˜q™é‡Œä¸æ”¯æŒï¼
B、链接部分SMIL
   我们的链接可以链接的文äšg很多åQŒå‡ ä¹Žæ‰€ç”¨çš„多媒体片断都可以ã€?.smilå’?.html也可以。但是,下面我们要讨论的是如何链接部分SMIL。请看例子ã€?
½W¬ä¸€ä¸ªSMILæ–‡äšgåQŒå–名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>;
½W¬ä¸€ä¸ªSMILæ–‡äšgåQŒå–名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>;
 
大家一定看出来了!我就是在test11app.smilä¸­äØ“æˆ‘ä»¬è¦é“¾æŽ¥çš„é‚£éƒ¨åˆ†å†…å®¹è®¾ä¸Šid,然后在test11.smil中的链接中用â€?”来指向该标记id。应用的很多的时候是¾l„内内容。我们把test11app.smil修改为:
< body>;
< par id="testlink">;
< video src="1.avi" clip-begin="150" region="videoregion"/>;
< /par>;
< /body>;
到这里,链接可以说已¾lå¾ˆå®Œç¾Žäº†ã€‚但是,如果要锦上添花,那么下面˜q™ä¸ªå±žæ€§æ˜¯å¿…不可少的ã€?
åQ?åQ‰coords属æ€?
ž®†ä¸Šé¢çš„<anchor href="1.rm"/>;代码修改为:
< anchor href="1.rm" coords="0åQŒÂ?åQ?50åQ?00"/>;
或者:
   < anchor href="1.rm" coords="0åQ…, 0åQ…,50åQ…,100åQ?/>;
˜qè¡ŒåQŒçœ‹çœ‹æ•ˆæžœã€‚JJ我们看到左半部分有链接效果,而右半部分却没有åQè¿™æ˜¯æˆ‘们采用了坐标规定链接区的¾~˜æ•…。coords属性值的½W¬ä¸€ã€äºŒä¸ªæ•°åˆ†åˆ«è¡¨ç¤ºçš„æ˜¯é“¾æŽ¥åŒºçš„左上角点的水òq»I¼ˆleftåQ‰å’Œåž‚ç›´(top)坐标;½W¬ä¸‰ã€å››ä¸ªæ•°åˆ†åˆ«è¡¨ç¤ºçš„æ˜¯é“¾æŽ¥åŒºçš„右下角点的水òq»I¼ˆleftåQ‰å’Œåž‚ç›´(top)坐标。上面用的是像素点的¾lå¯¹å®šä¹‰æ–ÒŽ³•åQŒä¸‹é¢ç”¨çš„æ˜¯æ¯”例的相对定义方法。喜‹Æ¢å“ªä¸€ä¸ªå°±çœ‹ä½ çš„喜好了ã€?
åQ?åQ‰é“¾æŽ¥æ³¨æ„?
我们的演½Cºæœ€åŽåŸºæœ¬ä¸Šéƒ½è¦æ”‘Öˆ°æœåŠ¡å™¨ä¸Šã€‚å› æ­¤ï¼Œæ–‡äšg的位¾|®çš„规定ž®±éžå¸”R‡è¦ï¼Œå¦‚果文äšg位置出错åQŒé‚£ä¹ˆæ’­æ”‘Ö™¨ž®†æ‰¾ä¸åˆ°æ–‡äšg而不能播放。这是我们最不希望看到的åQä¸‹é¢æˆ‘ä»¬å°±æ¥è®¨è®ø™¿™ä¸ªé—®é¢˜ã€?
A、创建基地址
 
看下面的代码åQ?
< head>;
     < meta name="base" content="rtsp://abc.5dmedia.com/"/>;
  < /head>;
上面ž®±æ˜¯åœ?lt; head>;< /head>;中用附加信息的方式规定了整个smilæ–‡äšg的基地址为rtsp://abc.5dmedia.com/。规定了基地址以后åQŒæˆ‘们在用该地址下的文äšg的时候,ž®±åªéœ€è¦ç»™å‡ø™µ\径就可以了。例如:
< 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>;
˜q™ä¸ªä¾‹å­ä¸­çš„前面的两个文件用的是基地址服务器上的文ä»Óž¼Œæ‰€ä»¥ï¼Œå¯ä»¥ä¹‹å†™å‡ºç›¸å¯¹åœ°å€ã€‚但是,后面的两个文件用的是其他服务器上的文ä»Óž¼Œæˆ‘们必须¾l™å‡º¾lå¯¹åœ°å€ã€‚其中rtsp是实时流传输协议åQŒå®ƒä¿è¯SMIL播放器正¼‹®åœ°ä»ŽæµæœåС噍abc.mysite.com上的audioæ–‡äšg夹下获得我的所要的文äšgtest.mp3ã€?54为流服务器的端口。http是超文本传输协议。它保证SMIL播放器正¼‹®åœ°ä»Žweb服务器www.5dmedia.com上的imageæ–‡äšg夹下获得我的所要的文äšgwelcome.jpgã€?lt; audio src="rtsp:// abc.mysite.com:554/audio/test.mp3"/>;说明的是该文件不在上面的基地址下,而在rtsp:// abc.mysite.com:554/audio/˜q™ä¸ªåœ°æ–¹æ³•,所我们必须修改地址ã€?
如果我们用的是本地机器硬盘上的文件就可以用src="file:/c:\audio\first.rm"˜q›è¡Œè¯Õd–该文件ã€?
大家在调用文件之前,一定要弄清楚文件的位置åQ?
 
5、语­a€é€‰æ‹©å’Œæ™ºèƒ½æµ
åQ?åQ‰è¯­­a€é€‰æ‹©
    如果åQŒæˆ‘们想要扩大我们演½Cºçš„æ”¶çœ‹äººç¾¤åQŒé‚£ä¹ˆæˆ‘们的听众ž®×ƒ¼šæœ‰ä¸­å›½äh、美国äh、法国äh、俄¾|—æ–¯½{‰ç­‰ã€‚那么怎样才能提供˜q™ç§å¤šå›½è¯­è¨€çš„æ”¯æŒå‘¢åQ?
Switch属性是该问题的“杀手”!
è¯ïLœ‹ä¾‹å­åQ?
< smil>;
< body>;
  < switch>;
   < video src="English.rm" system-language="en-us"/>; 
   < video src="Chinese.rm" system-language="zh-cn"/>;
  < /switch>;
< /body>;
< /smil>;
在SMIL播放器播放该SMILæ–‡äšgæ—Óž¼Œ‹‚€‹¹‹ä½ çš„æ’­æ”‘Ö™¨è®„¡½®çš„æ˜¯ä»€ä¹ˆè¯­­a€åQŒå¦‚果是¾ŸŽå›½è‹Þp¯­åQˆen-usåQ‰ï¼Œé‚£ä¹ˆž®×ƒ»ŽæœåŠ¡å™¨ä¸‹è½½English.rm播放åQ›å¦‚果是½Ž€ä½“中æ–?zh-cn)åQŒé‚£ä¹ˆå°±ä»ŽæœåŠ¡å™¨ä¸‹è²Chinese.rmæ–‡äšg播放。你可以讄¡½®å¾ˆå¤šçš„国家的选项。当然你的语­a€çš„版本也ž®±å¾ˆå¤šäº†ã€‚J下面我们¾l™å‡º¾lå¸¸ä½¿ç”¨çš„一些语­a€çš„代码ã€?
代码 语言
zh-cn 中文 (中华人民共和�
en-us è‹Þp¯­Â (¾ŸŽå›½)
fr 法语 (标准法语)
de 徯‚‚²åQˆæ ‡å‡†å¯d语)
it 意大利语åQˆæ ‡å‡†æ„å¤§åˆ©è¯­ï¼‰
ja 日语
es 西班牙语åQˆè¥¿ç­ç‰™åQ?
 
2åQ‰æ™ºèƒ½æµåQˆsurestreamåQ?
用户的联¾|‘速度是不ž®½ç›¸åŒçš„。有的可能只æœ?0K左右åQŒæœ‰çš„可能有几百K。如果我们满­‘³äº†é«˜é€Ÿç”¨æˆïLš„要求åQŒé‚£ä¹ˆä½Žé€Ÿç”¨æˆ·å¯èƒ½ç”±äºŽé€Ÿåº¦å¤ªæ…¢è€Œä¸èƒ½æ”¶çœ‹ã€‚如果我们满­‘³äº†ä½Žé€Ÿç”¨æˆïLš„要求åQŒé‚£ä¹ˆé«˜é€Ÿç”¨æˆïLœ‹åˆ°çš„æ•ˆæžœž®±æ‰“了不ž®‘的折扣åQŒæµªè´¹äº†é«˜é€Ÿçš„带宽。怎么办?
< 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>;
当用æˆïLš„联网速度大于250kbpsæ—Óž¼Œæ’­æ”¾å™¨å°±ä»ŽæœåŠ¡å™¨ä¸‹è²highspeed.rm播放åQ›å¦‚果用æˆïLš„联网速度大于80kbpsž®äºŽ250kbpsæ—Óž¼Œæ’­æ”¾å™¨å°±ä»ŽæœåŠ¡å™¨ä¸‹è²midspeed.rm播放åQ›å¦‚果用æˆïLš„联网速度大于20kbpsž®äºŽ80kbpsæ—Óž¼Œæ’­æ”¾å™¨å°±ä»ŽæœåŠ¡å™¨ä¸‹è²lowspeed.rm播放。所谓的“众口难调”在各位的手里就变得如此½Ž€å•!J
上面讲的ž®±æ˜¯æ™ø™ƒ½‹¹ï¼ˆsurestreamåQ‰çš„æœ¬è´¨å®žçްæ–ÒŽ³•åQæˆ‘们下面看一个复杂的一点的例子ã€?
< 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而小�50000bps�播放该组-->;
    < 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而小�0kbps�播放该组-->;
    < audio src="audio/music3.rm"/>;
   < video src="video/video3.rm" region="videoregion"/>;
    < text src="words/narration.txt" region="textregion"/>;
  < /par>;
< /switch>;
< /body>;
 
(3)语言与速度的同时检‹¹‹Â Â?lt; 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" />;  < !--¾ŸŽå›½è‹±æ–‡òq¶ä¸”速度大于14kbps -->;  < text src="english_28000.txt" system-language="en-us" system-bitrate="14000" />;  < /switch>; < /body>;åQ?åQ‰æ¼”½Cºé€Ÿåº¦çš„æŽ§åˆ¶ä¸Šé¢æˆ‘们讲的是在演½Cºæ–‡ä»¶å·²¾låˆ›å»ºå¥½çš„æ¡ä»¶ä¸‹˜q›è¡Œçš„。那么,我们怎样制作好多媒体片断。下面是我们的徏议:a、  用Realproducer或者其他的压羃工具制作‹¹æ–‡ä»¶æ—¶åQŒé€‰æ‹©æ­£ç¡®çš„压¾~©æ¯”ä¾‹ã€‚äØ“é«˜é€Ÿç”¨æˆ·å‡†å¤‡çš„æ–‡äšg的压¾~©æ¯”可以ž®ä¸€äº›ï¼Œå¯¹äºŽä½Žé€Ÿç”¨æˆ·å‡†å¤‡çš„æ–‡äšg的压¾~©æ¯”要大一炏V€‚b、  在¾|‘络传输˜q‡ç¨‹ä¸­ï¼Œè§†é¢‘占用的带宽是最多的åQŒéŸ³é¢‘次之,接下来是动画、图片,文字是最ž®‘的。所以,我们充分考虑我们的演½Cºçš„¾l“构。例如:如果òq¶è¡Œæ’­æ”¾å¤šä¸ªè§†é¢‘åQŒè¿™æ˜„¡„¶æ˜¯ä¸åˆé€‚的。我们可以用囄¡‰‡æ¥æ›¿ä»£ä¸€éƒ¨åˆ†è§†é¢‘效果。Â?
c、  我们在传输中不能全部占用用æˆïLš„带宽åQŒå¿…™åȝ•™å‡ÞZ¸€éƒ¨åˆ†¾l™ç”¨æˆähµè§ˆç½‘™å‰|ˆ–者是òq²å…¶å®ƒç”¨é€”的。JJJ我们很多的年è½ÖMh当然是用于QQ 聊天åQä¸‹è¡¨åˆ—å‡ÞZº†æˆ‘们的徏议ã€?
用户速度 廸™®®æœ€å¤§æµå ç”¨å¸¦å®½
14.4 Kbps modem 10 Kbps
28.8 Kbps modem 20 Kbps
56 Kbps modem 34 Kbps
64 Kbps ISDN 45 Kbps
112 Kbps dual ISDN 80 Kbps
Corporate LAN 150 Kbps
256 Kbps DSL/cable modem 225 Kbps
384 Kbps DSL/cable modem 350 Kbps
512 Kbps DSL/cable modem 450 Kbps
在我们以后的制作中。上面的˜q™äº›çŸ¥è¯†æ˜¯éžå¸¸å®žç”¨çš„。大家一定要努力掌握åQ?
6、  动ç”ÀL•ˆæž?
我们前面学习的内å®ÒŽ˜¯SMIL1.0规定的。在SMIL2.0中添加了不少的内容,其中动画ž®±æ˜¯å…¶ä¸­ä¸€ä¸ªã€‚很多的国外的教½E‹ä¸ŠæŠŠflashæ–‡äšg*.swf归䨓˜q™ä¸€¾c…R€‚我们不能同意这æ ïLš„分类æ–ÒŽ³•。我们认为把˜q™æ ·å·²ç»åšå¥½çš„åŠ¨ç”»è¯¥å½’äØ“è§†é¢‘ä¸€¾c…R€‚真正的动画åQˆä»ŽSMIL2.0规范中可以看出来åQ‰æ˜¯æœ‰SMILè§„å®šçš„åÆˆæœ‰SMIL播放器解释äñ”生的动画ã€?
    从实际情冉|¥çœ‹ï¼ŒåŠ¨ç”»æ•ˆæžœä¸»è¦æ˜¯é’ˆå¯¹å›¾ç‰‡äñ”生的。所以,我们在这里用囄¡‰‡æ¥åšä¾‹å­ã€‚其他的多媒体的制作æ–ÒŽ³•是类似的。有兴趣的GG、JJ、DDå’ŒMM可以自己做做ã€?
åQ?åQ‰Â Â Â Â Â Â Â Â Â Â Â Â Â è¿åŠ¨åŠ¨ç”?
ä¸ºå…ˆç¹äØ“å¿«ï¼Œè¯·åœ¨Realone player中运行下面的½E‹åºåQ?
  < smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language">;
  < head>; 
    < layout>;
      < root-layout width="800" height="600"/>;  
      < region id="Images" left="0" width="800" height="600"/>;
    < /layout>;     
  < /head>;  
  < body>;       
          < img region="Images" src="g03.jpg" dur="6s">;  
          < animateMotion from="0 0" to="600 400" dur="4s"/>;            
          < /img>;         
 < /body>;
< /smil>;
 
解释åQša、我们这里用到的是SMIL2.0规范中的规定的内容的。所以,在第一行里åQˆxmlns="http://www.w3.org/2000/SMIL20/CR/Language"åQ‰æˆ‘们必™åÕd£°æ˜Žæˆ‘们所用的规范。不然的话,播放器可能不能正¼‹®è§£ç ã€æ’­æ”¾ã€?
b、  animateMotion标记声明的是我们所要的动画¾cÕdž‹ã€‚注意:˜q™é‡Œž®±æ˜¯æˆ‘们所说的骆驼写法åQŒè¿˜è®°å¾—吧!JJ
c、  from="0 0" to="600 400"属性及其属性值声明的是动ç”ÖM»Žåæ ‡ç‚¹ï¼ˆ0åQ?åQ‰è¿åŠ¨åˆ°åæ ‡ç‚¹ï¼ˆ600åQ?00åQ‰ã€‚这里我们也可以写成åQ?lt; animateMotion from="0åQ?" to="600åQ?00" dur="4s"/>;
d、  dur="4s"属性及其属性值声明的是动ç”Õdœ¨4¿U’内完成。在我们˜q™ä¸ªä¾‹å­ä¸­ï¼Œå›„¡‰‡çš„存在时间是6¿U’,那么动画完成后,ž®†æœ‰2¿U’钟的时间静止不动。如果图片的存在旉™—´ž®äºŽåŠ¨ç”»å­˜åœ¨æ—‰™—´åQŒé‚£ä¹ˆåŠ¨ç”»è¿åŠ¨åˆ°åŠèµ\上就的停止,˜q™æ ·çš„æƒ…冉|˜¯è¯¥é¿å…çš„ã€?
åQ?åQ‰Â ç¾ƒæ”‘ÖŠ¨ç”?
           下面我们看看另外的一¿UåЍç”ÕdŞ式:¾~©æ”¾åŠ¨ç”»ã€‚å…ˆçœ‹æ•ˆæžœï¼J
< smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language">;
  < head>; 
    < layout>;
      < root-layout width="800" height="600"/>;  
      < region id="Images" left="0" width="800" height="600"  fit="meet"/>;
        < /layout>;       
  < /head>;
  < body>;   
    < img region="Images" dur="10s" src="g03.jpg" width="400" height="320">;                      
     < animate attributeName="height" from="320" to="160" fill="freeze" dur="10s"/>;
   < /img>;   
 < /body>;
< /smil>;
解释åQšanimate attributeName="height" from="320" to="160"声明了动ç”ȝš„¾cÕdž‹å’Œå‚数。大家看了效果以后,在结合上面的参数的意义,各参数是什么意思我们也ž®×ƒ¸ç”¨å¤šè®²äº†ã€‚J
 
7、  è{场效果   首先解释一下什么是转场效果。我们的演示中多媒体片断是很多的åQŒä¸å¯é¿å…çš„会有两个片断之间的切换。例如:一个图片演½Cºå®Œäº†ï¼Œè¯¥æŽ¥ç€æ¼”示下一个图片,两图片中间是有一个过渡的。这个过渡我们就¿U°è°“转场效果。如果我们不讄¡½®è½¬åœºæ•ˆæžœåQŒé‚£ä¹ˆï¼Œ˜q‡æ¸¡çš„æ•ˆæžœè‚¯å®šä¸å¥½ã€‚LSMILä¸­çš„è½¬åœºæ•ˆæžœå¤§è‡´åˆ†äØ“wipeå’Œfade两类。(åQ‘)   fade¾cÕdž‹ä»Žåå­—就可以看出åQŒè¿™ä¸ªæ˜¯æ·¡å…¥æ·¡å‡ºçš„æ•ˆæžœã€‚å…ˆç¹äØ“å¿«ï¼J è¯ïLœ‹ä¾‹å­åQ?lt; smil xmlns="http://www.w3.org/2001/SMIL20/Language">;< head>;< transition id="fade1" type="fade" subtype="fadeToColor" dur="4s" />;     < transition id="fade2" type="fade" subtype="fadeFromColor" dur="4s" />; < /head>;< body>;< img src="g04.jpg" dur="10s" transIn="fade2" transOut="fade1"/>;< /body>;</smil>;解释åQša、transition声明我们要设¾|®è{场效果。id="fade1"讄¡½®äº†è¯¥è½¬åœºæ•ˆæžœçš„id受÷€‚id号必™å»è®¾¾|®ã€‚type="fade"讄¡½®äº†è{场效果的基本¾cÕdž‹ä¸ºfade。 subtype="fadeToColor"讄¡½®äº†è{场效果的具体¾cÕdž‹åQˆå­¾cÕdž‹åQ‰äØ“fadeToColoråQˆæ³¨æ„è¿™é‡Œåˆæ˜¯æˆ‘们提到的骆驼写法åQï¼‰ã€‚dur="4s"讄¡½®äº†è¯¥åœºæ•ˆæžœå®Œæˆçš„æ—‰™—´ã€‚b、transIn="fade2"讄¡½®äº†å›¾ç‰‡g04.jpg昄¡¤ºæ—‰™‡‡ç”¨è{场效果fade2åQ›Â transOut="fade1"规定囄¡‰‡g04.jpg完成昄¡¤ºæ—‰™‡‡ç”¨è{场效果fadeåQ‘。c、fade只有三个子类型。上面我们用了2个。还有一个是crossfadeåQŒè¿™ä¸ªä¹Ÿæ˜¯ç¼ºçœè®¾¾|®ã€‚Â?
åQˆï¼’åQ‰Â Â Â wipe¾cÕdž‹
wipe为擦åŽÈ±»åž‹ã€‚该¾cÕdž‹çš„æ•ˆæžœå¾ˆå¤šå¾ˆå¤šã€‚我们这里所说的wipe只是他们的æ€È§°åQˆæ³¨æ„wipeä¸èƒ½ä½œäØ“type的属性å€û|¼Œè€Œæ˜¯å®ƒçš„å­ç±»ä½œäØ“type的属性å€û|¼Œå­ç±»çš„子¾cÖM½œä¸ºsubtype的属性å€û|¼Jè°è®©å®ƒçš„å±žæ€§å€ÆD¿™ä¹ˆå¤šåQï¼åQï¼‰ã€‚具体的有barWipe、boxWipe、fourBoxWipe½{?6大类!!!不管它有多少¾c»ï¼Œå…ˆçœ‹çœ‹æ€Žä¹ˆå¼„。请看例子:
< smil xmlns="http://www.w3.org/2001/SMIL20/Language">;
  < head>;     
    < transition id="wipe1" type="slideWipe" subtype="fromTop"/>;
    < transition id="wipe2" type="waterfallWipe"/>;  
  < /head>;
  < body>;    
   < img  src="g03.jpg" transIn="wipe1" transOut="wipe2" dur="5s"/>;    
  < /body>;
< /smil>;
解释åQša、JJJ和上面的写法基本上是一致的åQ?
      b、type="waterfallWipe"后面没有子类型表½CÞZ‹É用的是waterfallWipe¾cÕdž‹çš„默认子¾cÕdž‹ã€?
åQˆï¼“åQ‰Â Â Â ç»¼åˆåº”ç”?
我们上面都只是用在单个多媒体片断上的转场效果。下面看看在多个多媒体片断上怎样讄¡½®è½¬åœºæ•ˆæžœã€‚还得看例子åQšJ
< smil xmlns="http://www.w3.org/2001/SMIL20/Language">;
 < head>;  
< layout>;
< root-layout width="400" height="300"/>;
< /layout>;
< transition id="fade" type="fade" subtype="fadeToColor" fadeColor="green" dur="4s"/>;
< transition id="fade1" type="fade" subtype="fadeFromColor" fadeColor="red" dur="4s"/>;
< transition id="fade2" type="fade" subtype="crossfade" dur="2s"/>;
< transition id="push" type="snakeWipe" dur="4" />;
< /head>;
< body>;    
< seq>;
    < img dur="5s" src="g06.jpg"  transIn="fade1" fill="transition"/>;
< img dur="4s" src="g05.jpg"  transIn="fade2" fill="transition"/>;
< img dur="4s" src="g06.jpg"  transIn="fade2" fill="transition"/>;
< img dur="4s" src="g05.jpg"  transIn="push" transOut="fade"/>;
< /seq>;      
< /body>;
< /smil>;
解释åQša、fadeColor="green"讄¡½®äº†è°ˆå‡ø™°ˆå…¥è‰²ä¸ºç»¿è‰ÔŒ¼ˆgreenåQ‰ã€‚在˜q™é‡Œè¡¨ç¤ºçš„就是从当前的多媒体片断渐变为绿艌Ӏ‚下面的fadeColor="red"则表½CÞZ»Ž¾U¢è‰²æ¸å˜ä¸ºå½“å‰çš„å¤šåª’ä½“ç‰‡æ–­ï¼ˆå¦‚æžœæ˜¯å›¾ç‰‡åˆ™å˜äØ“å›„¡‰‡åQŒå¦‚æ˜¯è§†é¢‘åˆ™å˜äØ“½W¬ä¸€å¸§ï¼‰ã€?
b、fill="transition"表示的是最后的完成效果有下面的转场效果来决定�
c、最后一个就不能用fill="transition"了。想惻I¼Œå®ƒå°±æ˜¯æœ€åŽä¸€ä¸ªäº†åQŒä¸Šå“ªé‡ŒåŽÀL‰¾ä¸‹é¢çš„è{场效果呢åQ?
 
四、后记感谢大家一路陪ä¼ß_¼æˆ‘们¾lˆäºŽå®Œæˆäº†SMIL基础性学习。SMIL的内å®ÒŽ˜¯å¾ˆä¸°å¯Œçš„åQŒç”±äºŽä½œè€…的水åã^、时间和¾_‘ÖŠ›æœ‰é™åQŒç ”½I¶çš„不是很深。这‹Æ¡çœŸçš„体会到学习一¿Uæ–°çš„语­a€çš„难度比学习软äšg的应用难度大很多åQŒè€Œè¿™æ˜¯ä¸å¯ä»¥åŒæ—¥è€Œè¯­çš„。我们所提到的是非常基础、非帔R‡è¦ã€éžå¸¸å®žç”¨çš„部分。如果大家有兴趣惌™¿›ä¸€æ­¥ç ”½IÓž¼Œå¯ä»¥çœ‹çœ‹SMIL2.0规范。它位于http://www.w3c.org/下,大家可以下蝲下来看看。下面该交待的是SMIL目前支持的媒体对象:animation 、video、 audio、 img、 text和 textstream。它们所能支持的格式由我们选择的播攑֙¨æ¥å†³å®šã€‚下面我们要谈到˜q™ä¸ªé—®é¢˜ã€‚虽ç„Óž¼ŒSMIL的优点很多,但是¾~ºç‚¹ä¹Ÿæ˜¯æœ‰çš„。1、 播攑֙¨å¤ªå°‘目前全面支持SMIL2.0的播攑֙¨åªæœ‰Realone player。而支持SMIL1.0的播攑֙¨å´å¾ˆå¤šã€‚例如:QuicktimeåQˆè‹¹æžœï¼ˆapple Inc.åQ‰å…¬å¸ï¼‰,soja(一个用java语言¾~–写的播攑֙¨åQŒä½“¿U¯å¾ˆž®ï¼Œæ•ˆæžœä¸é”™ã€‚嵌在网™åµä¸Šæ˜¯åœ¨å¥½ä¸˜q‡äº†)。这个问题我想不久就会得到解冟뀂2、 各播放器不太兼å®ÒŽˆ‘们在*.smilæ–‡äšg中用的多媒体的格式必™å»è€ƒè™‘到播攑֙¨æ‰€èƒ½æ”¯æŒçš„æ ¼å¼ã€‚例如:Realone player支持的流文本åQˆstream textåQ‰æ ¼å¼?.rt非常不错。可是,很少有其他的播放器支持该中格式。Quicktime支持*.mov格式åQŒè¿™¿Uæ ¼å¼ä¹Ÿæ˜¯éžå¸¸æ£’的。然而,支持它的播放器寥寥无几。相信随着各个播放òq›_°çš„功能的拓展åQŒè¿™ä¸ªé—®é¢˜ä¹Ÿä¼šå¾—到解冟뀂3、 制作的工具匮乏目前我们没有发现好的制作软äšg。oratrix公司的GRiNS Editor for RealONE      用è“væ¥åÆˆä¸æ–¹ä¾Ñ€‚而Flution则好像是个äh业余写的½E‹åºåQŒç”¨èµäh¥æ¯”GRiNS Editor for RealONE舒服些,但是感觉也不是很好。如果演½CÞZ¸æ˜¯éžå¸¸å¤æ‚,可以用Real slideshow来做åQŒæ•ˆæžœä¸é”™ï¼Œä½¿ç”¨ä¹Ÿéžå¸¸ç®€å•。如果愈来愈多的公司来写˜q™æ ·çš„编辑èÊYä»Óž¼Œé‚£ä¹ˆž®†æ¥è‚¯å®šä¼šæœ‰å¾ˆå¤šå¥½çš„SMIL:¾~–辑软äšg。就像今天的htmlçš„Dreamweaver一样强ã€?、中文的支持能力差   我们上面提到可以ä‹Éç”?.txtæ–‡äšg。如æž?.txtæ–‡äšg的内å®ÒŽ˜¯è‹±æ–‡çš„,那么一切都非常好。但是,如果是中文的话,昄¡¤ºçš„å°±æ˜¯ä¸€å¯¹äØ•ç ã€‚ç”±äºŽä¸ªäººçš„æ°´åã^有限åQŒåˆ°ç›®å‰ä¸ºæ­¢åQŒä¾ç„¶æ²¡æœ‰æ‰¾åˆîC¸­æ–‡æ˜¾½Cºçš„解决办法ã€?/font>

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ÈýÃÅÏ¿ÊÐ| ÑÓ±ß| °¢Í¼Ê²ÊÐ| ½úÖÝÊÐ| »³À´ÏØ| ½Ò¶«ÏØ| ÓñÊ÷ÏØ| Ëì´¨ÏØ| ÐÂÌ©ÊÐ| ºôÂ×±´¶ûÊÐ| Ð˺£ÏØ| Ì«ºþÏØ| ÎijÉÏØ| ·ðɽÊÐ| »ª°²ÏØ| äųØÏØ| ×Ͳ©ÊÐ| ÔÓ¶àÏØ| º£·áÏØ| °ÍÌÁÏØ| ͨµÀ| ÉÌÂåÊÐ| ÀÖɽÊÐ| ÁÙÒØÏØ| ¹ãË®ÊÐ| º£°²ÏØ| ¿µÀÖÏØ| ÄÚ»ÆÏØ| ÄÏͨÊÐ| ÖØÇìÊÐ| ³¤´ºÊÐ| Ûº£ÏØ| Ñô´ºÊÐ| Ìì¾þÏØ| °¢À­ÉÆÓÒÆì| ÔÆÄÏÊ¡| ×Ó³¤ÏØ| À­×ÎÏØ| ¶¨Î÷ÊÐ| ¸§ÄþÏØ| Í­¹ÄÏØ|