<meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://interval.cz" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://interval.cz" r (n 0 s 0 v 0 l 0))' />
<p id='prepend'>V p°edchozφm Φlßnku o Synchronized Multimedia Integration Language jsem se v∞noval jeho podpo°e v r∙zn²ch programech a teoreticky jsem p°iblφ₧il multimedißlnφ technologii SMIL. Tentokrßt bych vßm rßd p°iblφ₧il n∞kterΘ ze zßkladnφch prvk∙ jazyka SMIL.</p>
<h3>SMIL 1.0</h3>
<p>Nejprve se podφvßme na specifikaci SMIL 1.0. Jde o velmi jednoduch² jazyk, kter² sestßvß z nemnoha znaΦek. Nejd∙le₧it∞jÜφ Φßstφ SMIL dokumentu je DTD, kterß vypadß nßsledovn∞:</p>
<div class='sample'>
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-smil/SMIL10.dtd">
</div>
<p>Ko°enov²m elementem dokumentu je prvek <code>smil</code>. SMIL dokument je rozd∞len do dvou Φßstφ (podobn∞ jako dokument (X)HTML). Prvnφ Φßst je tvo°ena elementem <code>head</code> a druhß elementem <code>body</code>. V²sledn² dokument m∙₧e mφt nßsledujφcφ podobu:</p>
<div class='sample'>
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-smil/SMIL10.dtd">
<br /><smil>
<br /><head>
<br /> ...hlaviΦka dokumentu
<br /></head>
<br /><body>
<br /> ...t∞lo dokumentu
<br /></body>
</smil>
</div>
<h4>HlaviΦka dokumentu</h4>
<p>HlaviΦka dokumentu obsahuje obecnΘ informace a nastavenφ celΘho dokumentu. V hlaviΦce se nastavuje pozadφ, rozm∞ry prezentace, pozice jednotliv²ch prvk∙ a podobn∞. Krom∞ toho m∙₧e element <code>head</code> obsahovat n∞kolik dalÜφch element∙:</p>
<div class='list'>
<ul>
<li><code>meta</code> - pou₧itφ elementu je podobnΘ jako v dokumentech (X)HTML</li>
<li><code>layout</code> - element layout nastavuje rozvr₧enφ dokumentu</li>
</ul>
</div>
<p>Pro urΦenφ rozvr₧enφ dokumentu m∙₧e element <code>layout</code> obsahovat dalÜφ dva prvky - <code>root-layout</code> a <code>region</code>. Element <code>root-layout</code> nastavuje vlastnosti celΘho dokumentu pomocφ n∞kolika atribut∙ - "background-color" (barva pozadφ), "height" (v²Üka okna), "width" (Üφ°ka okna), "title" (titulek). Element <code>region</code> vytvß°φ imaginßrnφ obdΘlnφky, do kter²ch bude pozd∞ji mo₧nΘ nahrßt multimΘdia. Zkrßtka u vlo₧enΘho obrßzku nastavφte, do kterΘho regionu se mß nahrßt. Prvek <code>region</code> mß tyto atributy:</p>
<p>Atributy "begin", "dur" a "end" pracujφ s Φasovou osou. ╚asovß osa zaΦφnß nulou (od spuÜt∞nφ dokumentu). Atribut "begin" urΦuje sekundu, od kterΘ mß b²t objekt zobrazen. Atribut "dur" urΦuje dobu trvßnφ objektu, p°φpadn∞ lze takΘ pou₧φt atribut "end", kter² nastavuje sekundu ukonΦenφ objektu.</p>
<p>JednotlivΘ objekty je mo₧nΘ seskupovat a nßsledn∞ synchronizovat pomocφ element∙ <code>seq</code> a <code>par</code>, kterΘ je mo₧nΘ i vno°ovat.</p>
<div class='list'>
<ul>
<li><code>seq</code> - definuje sekvenΦnφ zobrazenφ (pokud obsahuje vφce jak jeden objekt, zobrazuje objekty postupn∞, jeden po druhΘm, p°iΦem₧ atribut "begin" nastavuje Φasovou prodlevu od p°edchozφho objektu)</li>
<li><code>par</code> - definuje paralelnφ zobrazenφ objekt∙ (objekty budou zobrazeny souΦasn∞, p°iΦem₧ atribut "begin" nastavuje Φasovou prodlevu od spuÜt∞nφ prezentace)</li>
</ul>
</div>
<h4>Kontrola obsahu</h4>
<p>Kontrolou obsahu se rozumφ rozhodnutφ o vhodnΘm mΘdiu. SMIL je schopn² zjiÜ¥ovat vlastnosti klientskΘho poΦφtaΦe (jazyk, rozliÜenφ a dalÜφ) a zßvisle na zjiÜt∞nφch poskytovat alternativy. Obecn² zßpis vypadß takto:</p>
<div class='sample'>
<switch>
<br /> <element hodnotici_atribut="hodnota" />
<br /> <element hodnotici_atribut="hodnota2" />
<br /></switch>
</div>
<p>Pou₧iteln²ch atribut∙ existuje n∞kolik:</p>
<div class='list'>
<ul>
<li><samp>system-bitrate</samp> - rychlost p°ipojenφ v bps (28 800, 56 000...)</li>
<li><samp>system-language</samp> - systΘmov² jazyk (en, sk, cz...)</li>
<p>Konstrukce zjistφ, zda se mß p°ehrßvat Φesky, slovensky nebo francouzsky a pokud ani jedna mo₧nost nevyhovuje, bude pou₧it anglick² snφmek.</p>
<h4>Odkazy</h4>
<p>Pou₧itφ elementu <code>a</code> je velmi obdobnΘ pou₧itφ v (X)HTML, hodnotou atributu "href" je URL nebo "id" jinΘho objektu. SMIL p°idßvß atribut "show", kter² m∙₧e nab²vat hodnot "replace", "new" a "pause". V p°φpad∞ pou₧itφ "replace" bude aktußlnφ prezentace pozastavena a nahrazena novou, p°i pou₧itφ "new" bude prezentace otev°ena v novΘm okn∞ a p∙vodnφ bude pokraΦovat dßl, p°i pou₧itφ "pause" se novß prezentace otev°e v novΘm okn∞ a p∙vodnφ je pozastavena. Obsahem elementu a m∙₧e b²t n∞kter² z objekt∙ (<code>img</code>, <code>video</code>, <code>audio</code>...) nebo synchronizaΦnφ elementy (<code>par</code> a <code>seq</code>).</p>
<div class='sample'>
<a href="http://interval.cz" show="new">
<br /> <img src="obrazek.png" region="r1" />
<br /></a>
</div>
<p>Druh² mo₧n² odkaz se vytvß°φ elementem <code>anchor</code>, kter² se podobß klikacφm mapßm v HTML. Atribut "coords" vymezuje obdΘlnφkovou oblast, urΦenou hodnotami "top", "left" (sou°adnice hornφho rohu) a "bottom", "right" (dolnφ roh).</p>
<p>Nφ₧e si m∙₧ete prohlΘdnout k≤d ukßzkovΘ <a href='podklady/grimmich/896/SMIL-2-priklad.smi'>prezentace</a>, kterou si m∙₧ete zobrazit takΘ on-line, nap°φklad v Apple Quick Time Playeru.</p>
<div class='sample'>
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 1.0//EN" "http://www.w3.org/TR/REC-smil/SMIL10.dtd">
<p>V p°φkladu je okno rozd∞leno do Φty° Φtverc∙ (80x80 px). Je zde takΘ jasn∞ z°eteln² rozdφl mezi <code>par</code> a <code>seq</code>. Po spuÜt∞nφ prezentace se po jednΘ sekund∞ zobrazφ obrßzek v regionu r1 a r3, o sekundu pozd∞ji obrßzek v regionu r2 a o dalÜφch Üest sekund pozd∞ji obrßzek v regionu r4 (ten se zobrazφ dv∞ sekundy po skonΦenφ p°edchozφho obrßzku).</p>
<h3>SMIL 2.0</h3>
<p>Asi mi dßte za pravdu, ₧e nauΦit se pou₧φvat SMIL 1.0 nenφ ₧ßdn² zvlßÜtnφ problΘm, staΦφ si jen um∞t spoΦφtat na prstech Φasy vÜech objekt∙ a v²sledek je zaruΦen. Bohu₧el rozdφl mezi specifikacφ SMIL 1.0 a SMIL 2.0 je propastn². V nov∞jÜφ specifikaci p°ibylo mnoho strßnek a t∞₧ko by se mi je poda°ilo shrnout do jednoho Φlßnku (co₧ u SMIL 1.0 mo₧nΘ bylo, i kdy₧ jsem se rozhodl nepopisovat ·pln∞ vÜe).</p>
<p>SMIL 2.0 p°idßvß p°edevÜφm moduly pro interaktivitu (u₧ivatel m∙₧e reagovat na prezentaci - m∞nit parametry objekt∙) a animace (zm∞na barvy, parametru, pohyb po k°ivce). Zßva₧nou zm∞nou je modularizace, tedy rozd∞lenφ prvk∙ SMILu do skupin - modul∙, co₧ umo₧≥uje pou₧φt vybranΘ vlastnosti SMILu k dopln∞nφ jinΘho formßtu. Kup°φkladu animaΦnφ moduly jsou pou₧ity v SVG. SMIL 2.0 obsahuje celkem 45 modul∙ rozd∞len²ch do deseti skupin:</p>
<div class='list'>
<ul>
<li><em>Animation Modules</em>: Moduly obsahujφcφ elementy a atributy k zaΦlen∞nφ animace do dokumentu. N∞kterΘ animaΦnφ moduly p°ebφrß SVG (samoz°ejm∞ s jist²mi odliÜnostmi).</li>
<li><em>Content Control Modules</em>: Moduly obsahujφcφ atributy a elementy pro kontrolu obsahu (rozhodovacφ konstrukce). Jde o moduly, kterΘ zjiÜ¥ujφ informace o systΘmu nßvÜt∞vnφka - rychlost p°ipojenφ, rozliÜenφ, jazyk a podobn∞. Zßvisle na zjiÜt∞n²ch datech je mo₧nΘ poskytnout nßvÜt∞vnφkovi odpovφdajφcφ obsah, nap°φklad audio v jφm preferovanΘm jazyce. ╚ßst tohoto modulu byla obsa₧ena ji₧ ve SMIL 1.0, a to v podob∞ elementu <code>switch</code> pro rozhodovacφ konstrukci.</li>
<li><em>Layout Modules</em>: Moduly pro nßvrh (rozlo₧enφ) prezentace. Obsahem jsou zejmΘna elementy <code>root-layout</code>, <code>layout</code> a <code>region</code>. Tento modul nepopisuje pouze rozvr₧enφ dokumentu, ale takΘ hlasitosti audio a video mΘdiφ. Tento modul popisuje spφÜe vzhled ne₧ sΘmantiku.</li>
<li><em>Linking Modules</em>: Moduly urΦenΘ k tvorb∞ odkaz∙ (ze SMIL 1.0 p°etrvßvajφ elementy <code>anchor</code>, <code>a</code>).</li>
<li><em>Media Object Modules</em>: Moduly slou₧φcφ k zaΦlen∞nφ mΘdiφ do dokumentu (<code>audio</code>, <code>video</code>, <code>img</code> a mnoho dalÜφch element∙).</li>
<li><em>Matainformation Modules</em>: MetainformaΦnφ moduly reprezentovanΘ podobn∞ jako v (X)HTML elementem <code>meta</code> a nov∞ elementem <code>metadata</code>, kter² pracuje s RDF.</li>
<li><em>Structure Modules</em>: Strukturnφ moduly popisujφ rozΦlen∞nφ dokumentu (elementy <code>smil</code>, <code>head</code>, <code>body</code> a jejich atributy).</li>
<li><em>Timing and Synchronization Module</em>: ╚asovacφ a synchronizaΦnφ moduly (<code>par</code>, <code>seq</code> a dalÜφ novΘ elementy a atributy).</li>
<li><em>Time Manipulations Module</em>: Moduly pro zm∞ny p∙sobenφ Φasu. Obsahem jsou nap°φklad atributy, kterΘ nastavujφ rychlost p°ehrßvßnφ mΘdiφ - zrychlenφ Φi zpomalenφ oproti normßlu.</li>
<li><em>Transition Effects Module</em>: Modul pro tvorbu p°echod∙ (zm∞na barvy v urΦitΘm ΦasovΘ ·seku).</li>
</ul>
</div>
<p>V²sledkem pou₧itφ vÜech modul∙ je velmi efektivnφ multimedißlnφ prezentace srovnatelnß t°eba s Φasto pou₧φvan²m Power Pointem.</p>
<li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3476'>Kurz SVG - vypl≥ovßnφ I</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3479'>PPWizard - pokroΦilß makra, podmφnky a standardnφ definice</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3478'>Transformace dat z databßze pomocφ XSL v .NET jednoduÜe</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3481'>Strßnkovßnφ v ovlßdacφm prvku DataGrid bez pou₧itφ PostBack</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3477'>Zpracovßnφ databßzov²ch dat p°es XSLT v ASP</a></li>
</ul>
</div>
</div>
<div class='page-right-box cauldron'>
<h3>Diskuznφ kotel</h3>
<div class='page-right-box-in'>
<ul>
<li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3473' title='(25 komentß°∙)'>Sedφm na konßri a Φtu Computerworld</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3468' title='(23 komentß°∙)'>PPWizard - tvo°φme a spravujeme WWW strßnky</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3474' title='(22 komentß°∙)'>PφÜeme pro web - o sφle slov</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3464' title='(15 komentß°∙)'>Kurz SVG - grafickß primitiva</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3472' title='(10 komentß°∙)'>Cryptography v .NET - Symmetric a Asymmetric encryption</a></li>