Il linguaggio SMIL - Dipartimento di Ingegneria dell`Informazione
Transcript
Il linguaggio SMIL - Dipartimento di Ingegneria dell`Informazione
Corso di Laurea Cultura e Stilismo della Moda Esperti di linguaggi multimediali e tendenze moda Parte VI Linguaggi per il Multimedia (SMIL) Corso: Sistemi di Elaborazione Dati Docente: Ing. Ivan Bruno E-mail: [email protected] SMIL Synchronized Multimedia Integration Language Introduzione e nozioni 1 Cronologia { { 15 Giugno 1998: vengono pubblicate le specifiche di SMIL 1.0 come W3C recommendation. 1 Marzo 2001: vengono pubblicate le specifiche di SMIL 2.0 come W3C working draft. 23/11/2006 Sistemi di Elaborazione Dati 3 HTML: cosa non permette HTML non gestisce l’occupazione della pagina dal punto di vista del: z z 23/11/2006 tempo: non esiste un sistema di coordinate temporali (si può provare a ovviare con script Javascript). spazio: non esiste un sistema di coordinate spaziale che consenta di collocare gli oggetti nella pagina (si può fare qualche triste tentativo con le tabelle) Sistemi di Elaborazione Dati 4 2 SMIL permette di… { { { disporre degli oggetti multimediali in punti precisi dello schermo descrivere il comportamento temporale dei diversi elementi di una presentazione ipermediale modificare la riproduzione secondo alcuni parametri relativi alla stazione di lavoro dell’utente z { 23/11/2006 lingua, bit-rate… inserire dei link ad altre presentazioni o parti di esse Sistemi di Elaborazione Dati 5 Cosa si può fare con SMIL { { { { { { { { { 23/11/2006 Slideshows Advertisements Internet TV Education Corporate communications Product information User’s Guides Net meetings etc. Sistemi di Elaborazione Dati 6 3 Players { CWI Grins beta Helio Soja beta { NIST S2M2. { Productivity Works L p player { { { { { { RealPlayer, attualmente il più completo, supporta SMIL 2.0 ed estensioni proprietarie Apple QuickTime Microsoft Internet Explorer 5.5 e successivi supportano XHTML+SMIL Oratrix GRiNS, supporta SMIL 2.0 Ambulant Player, open source, supp. SMIL 2.0 23/11/2006 Sistemi di Elaborazione Dati 7 Editor { { Basta un normale editor di testo Editor più evoluti offrono z z z { Alcuni esempi z z 23/11/2006 Sintassi colorata e supporto per XML Supporto per tag specifici di SMIL Visualizzazione grafica (tipo WYSIWYG) e preview Notepad, UltraEdit, jEdit (open source), Emacs… Oratrix GRiNS, LimSee2 (open source),… Sistemi di Elaborazione Dati 8 4 Authoring tools { RealNetworks RealPresenter { CWI Grins { TAG Editor 2.0 - G2 release by Digital Renaissance { VEON authoring tool { L p Studio PRO 23/11/2006 Sistemi di Elaborazione Dati 9 Alcuni tutorial SMIL in rete { { { http://www.cwi.nl/~media/SMIL/Tutorial/ http://www.helio.org/products/smil/tutorial/ http://web.tiscalinet.it/dotnet/testosmile.html Specifiche SMIL { http://www.w3.org/TR/REC-smil/ { http://www.w3.org/TR/smil20/ 23/11/2006 Sistemi di Elaborazione Dati 10 5 SMIL vs HTML { un documento SMIL ha una struttura molto simile ad un documento HTML ma z z z i tag sono case sensitive deve sempre esserci un tag di chiusura i tag devono essere aperti e chiusi nell’ordine corretto (XML) 23/11/2006 Sistemi di Elaborazione Dati 11 Moduli { Suddivisi per funzionalità: z z z z z z z z z z 23/11/2006 Structure (struttura dei tag) Media objects (supporto alla multimedialità) Layout (disposizione spaziale) Timing (sincronizzazione temporale) Time manipulation (modifica flusso temporale) Content control (scelta di configuraz. alternat.) Animation (gestione semplici animazioni) Transitions (effetti di transizione) Metainfomation (metadati) Linking (riferimenti tra oggetti) Sistemi di Elaborazione Dati 12 6 Struttura di un documento SMIL <smil> <head> <meta name= "author" content= "Your Name" /> <layout> <!-- definizione delle regioni --> </layout> </head> <body> <!-- sincronizzazione degli elementi della presentazione--> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 13 Meta tag Sono simili ai metatag di HTML ma devono rispettare la sintassi di terminazione di XML, che in questo caso è resa dalla /(forward slash) finale. <meta name="title" content=”lezione SMIL" /> <meta name="author" content=”Paola" /> <meta name="copyright" content=”SM2002" /> 23/11/2006 Sistemi di Elaborazione Dati 14 7 La sezione Head { { contiene la definizione della finestra in cui è contenuta le presentazione è possibile definirvi le regioni (region): z sono porzioni dello schermo entro cui inserire i media della presentazione (media object) 23/11/2006 Sistemi di Elaborazione Dati 15 Layout { L’elemento layout va specificato nell’intestazione (head) e può contenere i seguenti elementi: z z z 23/11/2006 root-layout, per definire la dimensione effettiva dell’area visiva topLayout, per definire finestre separate region, dichiara e localizza regioni in cui poter poi visualizzare dei media object Sistemi di Elaborazione Dati 16 8 Esempio <smil> <head> <layout> <root-layout width=“300” height=“200”/> </layout> </head> <body> <img src=“images/image1.jpg” dur=“2s” /> <img src=“images/image2.jpg” dur=“1.5s” /> <img src=“images/image3.jpg” dur=“2.5s” /> <!-- ... --> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 17 Root-layout { { La dimensione del root-layout è definita dagli attributi width (larghezza) e height (altezza) I valori degli attributi di per root-layout possono essere espressi solo in pixel: z z { Si può anche specificare un colore di sfondo: z 23/11/2006 width=“400” (l’unità è pixel per default) oppure, in modo esplicito: width=“400px” Attributo background-color=“#rrggbb” (come color per html) Sistemi di Elaborazione Dati 18 9 Le regioni { { L’elemento region definisce rettangoli come zone di layout in cui poter visualizzare dei media object Le regioni sono identificate da z z { un nome univoco nel file con l’attributo id eventualmente condiviso da più regioni, con l’attributo regionName I media object possono essere visualizzati in (almeno) una specifica regione indicandone l’identificativo tramite l’attributo region z In caso di più regioni con uguale regionName si dà precedenza a quella definita per prima 23/11/2006 Sistemi di Elaborazione Dati 19 Esempio <smil> <head> <layout> <root-layout width=“300” height=“200” /> <region id=“main” fit=“meet” /> </layout> </head> <body> <img src=“image1.jpg” region=“main” dur=“2s” /> <img src=“image2.jpg” region=“main” dur=“1.5s” /> <img src=“image3.jpg” region=“main” dur=“2.5s” /> <!-- ... --> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 20 10 Posizionamento delle regioni { { La definizione di posizione e dimensione di una regione è riferita all’elemento root-layout fratello o al genitore Gli attributi left, top, right, bottom, width, height accettano un valore in z z pixel (es. top=“10px” o top=“10”) in percentuale (es. top=“10%”) rispetto al riferimento 23/11/2006 Sistemi di Elaborazione Dati 21 Posizionamento delle regioni { si considera come origine l’angolo superiore sinistro della finestra principale, e si calcola la distanza in numero di pixel Origine Top Left Height Width 23/11/2006 Sistemi di Elaborazione Dati 22 11 Le regioni <smil> <head> <meta name= “author” content= “Your Name” /> <layout> <root-layout width= “300” height=“200” background-color=“white” /> <region id= “icona” left=“75” top=“50” width=“40” height= “40” /> </layout> </head> <body> <img src=“mondo.gif” alt=“Icona mondo” region=“icona” /> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 23 Altro esempio <head> <root-layout width="480" height="300"/> <region id="videoregion" top="60" left="120" width="240" height="180"/> </head> 23/11/2006 Sistemi di Elaborazione Dati 24 12 Layout gerarchico Le regioni possono essere definite in modo gerarchico, per comodità { Esempio: { <layout> <root-layout width="500" height="400" background-color="yellow"/> <region id="r1" left="50" height="75%" background-color="blue"> <region id="r1a" right="30%" background-color="green" /> <region id="r1b" bottom="100" background-color="red" /> </region> </layout> 23/11/2006 Sistemi di Elaborazione Dati 25 Ereditarietà { La gerarchia delle regioni permette anche l’ereditarietà degli attributi z z { Esempi di attributi ereditabili: z { 23/11/2006 Un attributo non specificato viene ereditato dal primo genitore che lo dichiara Se non viene dichiarato verrà usato un valore di default left, top, …, height, background-color, fit,… Nei media object, ove non specificati, verranno ereditati dalla regione associata Sistemi di Elaborazione Dati 26 13 Layout… volume audio { Attributi di layout (region): z z soundLevel (=“100%” per default), definisce il volume di eventuale audio in percentuale rispetto al volume originale del media object In regioni annidate la percentuale va “moltiplicata” a quella delle regioni antenate: <region id=“r1” ... soundLevel=“80%”> <region id=“r1a” ... soundLevel=“50%” /> <!-- 40% --> <region id=“r1b” ... soundLevel=“200%” /> <!-- 160% --> </region> 23/11/2006 Sistemi di Elaborazione Dati 27 Z-index { Regioni sovrapposte possono essere riordinate usando l’attributo z-index z z 23/11/2006 Una regione con valore a nasconderà quelle con valori minori di a Se due regioni hanno lo stesso valore, saranno visualizzate quelle usate per prime Sistemi di Elaborazione Dati 28 14 Esempio: Posizionamento relativo e z-index <smil> <head> <layout> <root-layout width= “300” height=“200” background-color=“white” /> <region id= “rettangolo” left=“30%” top=“50%” width=“50” height= “70” z-index=“1” /> <region id= “cerchio” left=“25%” top=“25%” width=“100” height= “100” z-index=“2” /> </layout> </head> <body> <img src=“rettangolo.gif” region=“rettangolo” /> <img src=“cerchio.gif” region=“cerchio” /> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 29 La sezione Body <smil> <head> { <meta name= “author” content= “Your Name” /> contiene le descrizione temporale <layout> dello svolgimento della <root-layout width= “300” height=“200” presentazione multimediale background-color=“white” /> id= “video” left=“75” top=“50”alla { tutte<region le informazioni relative width=“40” height= “40” /> sincronizzazione degli oggetti nel </layout> tempo: </head> <body> z durata di un oggetto <img src=“intervista.rm” region=“video” z inizio begin= “3s” dur=“5s” /> z fine </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 30 15 Media objects { { Indicano link a risorse esterne Tag diversi (secondo le specifiche, solo per leggibilità): z M.O. continui (hanno una certa durata intrinseca) { video { audio { animation z z z { Filmati, con o senza audio (MPEG, AVI, MOV, ecc) Risorse esclusivamente audio (MP3, WAV, AU, ecc) Animazioni, generalmente basate su grafica vettoriale (SVG, SWF, VML, ecc) textstream z 23/11/2006 Flusso di solo testo comprendente informazioni su tempo e durata (ed eventualm. posizione o altro) di ciascun elemento testuale, utile per es. per sottotitoli (SUB, RT, SAMI, ecc) Sistemi di Elaborazione Dati 31 Media objects { M.O. discreti (ovvero di durata intrinsecamente nulla) z text { z img { { { Immagini statiche, come nelle pagine HTML (JPEG, GIF, PNG) Sequenze di immagini statiche, dunque in realtà media object continui (GIF o PNG animate) Generici o particolari z z 23/11/2006 Semplice testo, “promosso” a media object (TXT, ASCII, ecc) ref, tag per M.O. di contenuto incerto brush, specifica campiture colorate (è specificato in un modulo a parte) Sistemi di Elaborazione Dati 32 16 Tag per Media Objects { { { { { { Immagini ( <img> ) Testo ( <text> , <textstream> ) Audio ( <audio> ) Video ( <video> ) Animazioni ( <animation> ) <ref>, per i formati che non rientrano in nessuna delle precedenti categorie. 23/11/2006 Sistemi di Elaborazione Dati 33 Attributi di un media object { Tutti i M.O. supportano i seguenti attributi z src { { Specifica l’URI del M.O. da includere Si possono specificare URI generici z z z { z Se assente si assume durata intrinseca nulla type { Opzionale, indica il tipo di media (come MIME type) z { 23/11/2006 Su siti Internet (come fossero link HTML) In locale (“file:///drive:/path/image.jpg”) Percorsi relativi (“images/icon.png”) Esempi comuni: “image/jpeg”, “video/mpeg”, “text/plain”, … Può essere ignorato, a seconda del protocollo specificato in src (rtsp o http/ftp/file,…) o dell’estensione o tag usati Sistemi di Elaborazione Dati 34 17 Media Object brush { L’elemento brush specifica una campitura di un colore dato z z z L’attributo src viene ignorato Il colore viene codificato, tramite l’attributo color, come nell’HTML Spazio RGB (Red, Green, Blue) a 24 bit: { color=“#rrggbb”, dove ciascuna lettera rappresenta una cifra esadecimale (0-9, A-F), ovvero 4 bit (quindi 8 bit per colore) 23/11/2006 Sistemi di Elaborazione Dati 35 Attributi dei media object: tempo { Sui singoli tag relativi ai media object si possono aggiungere attributi che regolano la temporizzazione: z z z { dur: indica la durata del media begin: indica il momento di inizio end: indica il momento di fine Esempio: <img src=“smile8.gif” region=“smile” dur=“4s” begin=“2s”/> 23/11/2006 Sistemi di Elaborazione Dati 36 18 Esempio { Diversi media object visualizzati uno dopo l’altro <smil> <head> <!Definire un root-layout e una region> </head> <body> <img src=“images/image1.jpg” dur=“3s”/> <video src=“http://sample.com/video.mpg”/> <brush color=“#000033” dur=“5s”/> <!-- ... --> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 37 L’attributo fit { Poiché Le immagini possono avere dimensioni diverse è possibile ridimensionare l’immagine (o video) mediante l’attributo fit: z z z z z { 23/11/2006 fit=“hidden” (default) ritaglia ciò che non sta nella regione fit=“meet” riscala in modo da visualizzare l’intero contenuto mantenendo il rapporto x/y fit=“slice” riscala mantenendo il rapporto x/y in modo da riempire l’intera regione (taglia l’eccesso) fit=“fill” riscala in modo da riempire esattamente tutta la regione (può deformare) fit=“scroll” può far comparire barre di scorrimento se il media object è più grande della regione Le aree non coperte dal media object vengono riempite col colore di background (attributo backgroundColor) Sistemi di Elaborazione Dati 38 19 L’attributo Fit 23/11/2006 Sistemi di Elaborazione Dati 39 Sincronizzazione { { Oltre alla disposizione spaziale, SMIL permette anche di gestire la sincronizzazione temporale dei M.O. I due elementi chiave sono z z { 23/11/2006 seq per la rappresentazione sequenziale di M.O. par per la rappresentazione contemporanea di più M.O. (per M.O. “visivi” e’ in generale necessario definire almeno o più regioni) Si usano entrambi solo nel body e possono essere annidati Sistemi di Elaborazione Dati 40 20 Riproduzione parallela il tag <par> permette la riproduzione parallela di più oggetti è possibile l’uso degli offset { { <smil> <body> <par> <!questi due file vengono eseguiti> <!contemporaneamente> <audio src=“colonna_sonora”> <audio src=“commento_parlato” begin=“10s”> </par> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 41 Riproduzione in sequenza { il tag <seq> permette la riproduzione sequenziale di più oggetti <smil> <body> <seq> file 1 <par> <!questi due file vengono eseguiti> file 2 <!contemporaneamente> file 3 </par> file 4 <!questo file viene eseguito quando sia> </seq> <!file2 che file3 sono terminati> </body> </smil> 23/11/2006 Sistemi di Elaborazione Dati 42 21 Riproduzione in sequenza { Seq: rappresentazione di M.O. uno dopo l’altro <seq> <img “image1.png” dur=“1s”/> <video “video1.mpg” dur=“5s”/> </seq> { Par: rappresentazione di M.O. in parallelo <par> <img “image1.png” region=“a” dur=“1s”/> <video “video1.mpg” region=“b” dur=“5s”/> <audio “track0.mp3” dur=“3s”/> </par> 23/11/2006 Sistemi di Elaborazione Dati 43 Combinare <seq> e <par> tags Esempio 1 Esempio 2 <seq> clip 1 <par> clip 2 clip 3 </par> clip 4 </seq> <par> clip 1 <seq> clip 2 clip 3 </seq> clip 4 </par> 23/11/2006 Sistemi di Elaborazione Dati 44 22 Esempio: clipBegin e clipEnd <par> <audio src="song1.rm" clipBegin="30.4s" dur="30s"/> <audio src="song2.rm" begin="28s" clipBegin="2.4s" clipEnd="13.7s" /> </par> 23/11/2006 Sistemi di Elaborazione Dati 45 Eventi { è possibile sincronizzare due o più oggetti sulla base del verificarsi di un evento: <par endsync=“id(commento)”> <audio src=“colonna_sonora” id=“musica”> <audio src=“commento_parlato” begin=“id(musica)(10s)” id=“commento”> </par> 23/11/2006 Sistemi di Elaborazione Dati 46 23 Switch { { permette di regolare la riproduzione della presentazione sulla base di alcune informazioni relative all’utente può essere inserito sia sella sezione layout che nella sezione body <switch> <audio src="audio_migliore" system-bitrate="16000" /> <audio src=“audio_peggiore” system-bitrate="8000" /> </switch> <switch> <audio src=“audio_italiano” system-language=“it”/> <audio src=“audio_inglese” system-language=“en”/> </switch> 23/11/2006 Sistemi di Elaborazione Dati 47 Cosa si può testare? { { { { { 23/11/2006 la lingua il bit-rate la dimensione e la profondità dell schermo caption o overdub quali tipi MIME supporta il visualizzatore dell’utente Sistemi di Elaborazione Dati 48 24 Uso dello <switch> per il linguaggio <par> <video src="video/seattle.rm" /> <switch> <audio src="french/seattle.rm" system-language="fr"/> <audio src="german/seattle.rm" system-language="de"/> <audio src="spanish/seattle.rm" system-language="es"/> <audio src="english/seattle.rm"/> </switch> </par> 23/11/2006 Sistemi di Elaborazione Dati 49 Hyperlink { { { 23/11/2006 SMIL support link unidirezionali molto simile a quelli offerti dal linguaggio HTML si possono inserire link ad una presentazione o a parte di essa utilizzando l’id appropriato è possibile modificare lo stato di riproduzione della sorgente del link Sistemi di Elaborazione Dati 50 25 Tag per i Link { Elemento <a> z { Elemento <area> z { associa il link ad un intero media object associa il link ad una porzione spaziale del media object (Elemento <anchor>) 23/11/2006 Sistemi di Elaborazione Dati 51 L’elemento <a> { { Identifica la sorgente del link Attributo href obbligatorio: destinazione del link z { { 23/11/2006 la destinazione può essere un’altra presentazione SMIL, una pagina HTML, … È “trasparente” dal punto di vista della sincronizzazione: non influenza la sincronizzazione degli elementi figli SMIL estende la sintassi già definita in HTML Sistemi di Elaborazione Dati 52 26 Esempio <seq> <a href="present1.smil"> <img src="images/img1.jpg" type="image/jpeg" dur="5s" /> </a> <a href="gaudi.html" external="true"> <img src="images/img2.jpg" type="image/jpeg" dur="5s" /> </a> <a href="present2.smil" show="new"> <img src="images/img3.jpg" type="image/jpeg" dur="5s" /> </a> </seq> 23/11/2006 Sistemi di Elaborazione Dati 53 L’elemento <a> { Connettore “#” (nelle URI, valore di href) z z z 23/11/2006 sintassi simile a HTML (es. “http://www.example.org/some/path#anchor1”) si riferisce al valore dell’attributo id (identificatore univoco) e non dell’attributo name del target consente di collegarsi non solo all’inizio di una presentazione SMIL, ma anche all’inizio di un qualunque media object contenuto nella presentazione Sistemi di Elaborazione Dati 54 27 Gli attributi di <a> { sourceLevel z z z z 23/11/2006 imposta il volume audio dei media object nella presentazione in cui trova il link, dopo che il link è stato attraversato l’effetto è cumulativo rispetto agli attributi che controllano il volume audio in modo specifico (es. soundLevel) quando termina la visualizzazione della presentazione destinazione del link, anche l’effetto sull’audio termina valore: percentuale non negativa; default: 100% Sistemi di Elaborazione Dati 55 Gli attributi di <a> { destinationLevel z z z z 23/11/2006 imposta il volume audio dei media object nella presentazione attivata dal link (risorsa remota), dopo che il link è stato attraversato l’effetto è cumulativo rispetto agli attributi che controllano il volume audio in modo specifico (es. soundLevel) valore: percentuale non negativa default: 100% Sistemi di Elaborazione Dati 56 28 Gli attributi di <a> { sourcePlaystate z z z z z 23/11/2006 controlla il comportamento temporale della presentazione che contiene il link, quando il link viene attraversato play: la presentazione che contiene il link prosegue pause: la presentazione che contiene il link viene messa in pausa e riprende appena termina la visualizzazione della risorsa destinazione stop: la presentazione che contiene il link viene interrotta e ritorna all’inizio; non riparte quando termina la visualizzazione della risorsa destinazione il valore dell’attributo show influenza sourcePlaystate Sistemi di Elaborazione Dati 57 Gli attributi di <a> { destinationPlaystate z z z z z 23/11/2006 controlla il comportamento temporale della risorsa esterna, quando il link viene attraversato ha senso solo per i media object continui play: quando si attraversa il link la destinazione è in play pause: quando si attraversa il link la destinazione è in pause, nell’istante determinato dal valore dell’attributo href Il valore di default è play Sistemi di Elaborazione Dati 58 29 Esempio <body> <a href="http://www.example.org/pres.smi" show="new" sourcePlaystate="pause"> <video src="video.mpg“ region="l_window"/> </a> </body> 23/11/2006 Sistemi di Elaborazione Dati 59 Gli attributi di <a> { show z z z z z 23/11/2006 specifica come gestire la presentazione in cui si trova il link quando questo viene attivato new: la presentazione della nuova risorsa avviene in un nuovo contesto, e non influenza la risorsa sorgente; se le presentazioni contengono audio, le tracce sono riprodotte in parallelo replace (default): la presentazione corrente è messa in pause e viene sostituita dalla risorsa destinazione pause: deprecato; si ottiene lo stesso effetto con new e l’attributo sourcePlaystate uguale a pause Sistemi di Elaborazione Dati 60 30 Gli attributi di <a> { alt z z z z stessa sintassi di HTML specifica un testo alternativo per i programmi che non possono visualizzare un determinato media object può essere visualizzato insieme al media object in determinate configurazioni dei programmi di visualizzazione il suo utilizzo, con una stringa di testo significativa, è fortemente raccomandato 23/11/2006 Sistemi di Elaborazione Dati 61 Gli attributi di <a> { target z z z z 23/11/2006 stessa sintassi di HTML definisce l’ambiente di visualizzazione in cui il link deve essere aperto (es. regione SMIL, frame HTML, finestra, …) l’ambiente può essere esistente o creato in quel momento: il valore è l’identificativo dell’ambiente di visualizzazione, se non esiste ne viene creato uno nuovo se target ha un valore, il valore di show viene ignorato Sistemi di Elaborazione Dati 62 31 Gli attributi di <a> { external z z z definisce se la risorsa destinazione del link deve essere aperta dall’applicazione corrente o da una nuova applicazione (es. browser HTML) true: apre il link con una nuova applicazione definita dal sistema false (default): apre il link con l’applicazione corrente; se questa non supporta il tipo di file dovrebbe comunque aprire un’applicazione esterna 23/11/2006 Sistemi di Elaborazione Dati 63 Hyperlink <par id=“text_and_video” > <video src=“file_video” region=“video” /> <text src=“file_testo” region=“testo” /> <a href=“presentazione.smil#text_and_video” show=“Pause”> <video src=”altro_file_video" region=“altra_regione”/> </a> </par> 23/11/2006 Sistemi di Elaborazione Dati 64 32 Tag <area> { { <area> descrive la sorgente di un link come porzione di un media di una data forma (attributo shape) delimitata da coordinate assegnate (attributo coord); E’ specificato come figlio di un media element. <video src="video.rm" region="video_region"> <area shape="rect" coords=“20,40,80,120“ title="Subject“ href="http://www.example.org/> </video> 23/11/2006 Sistemi di Elaborazione Dati 65 Gli attributi di <area> { { { { { { { { { { { 23/11/2006 href alt target show shape Coord sourcePlaystate destinationPlaystate sourceLevel destinationLevel external Sistemi di Elaborazione Dati 66 33 Un esempio 23/11/2006 Sistemi di Elaborazione Dati 67 Definizione delle regioni <head> <layout> <root-layout height="425" width="625” backgroundcolor="black"/> <region id="title" left="5" top="150" width="400" height="200" z- index="1"/> <region id="full" left="0" top="0" height="425" width="450" background-color="#602030"/> <region id="video" left="260" top="240" height="120” width="160" z-index="2"/> <region id="toc" left="450" top="0" height="425" width="175"/> </layout> </head> 23/11/2006 Sistemi di Elaborazione Dati 68 34 Sincronizzazione: l’indice <par id=“text_and_video” > <text src="toc.rt" region="toc" /> <seq> <!-- tutto quello che avviene nella --> <!-- regione video --> </seq> </par> 23/11/2006 Sistemi di Elaborazione Dati 69 Sincronizzazione: la regione video <seq> <text src="title.rt" region="title" dur="20s"/> <!-- animazione mappa --> <!-- video slide show--> </seq> 23/11/2006 Sistemi di Elaborazione Dati 70 35 Animazione mappa <par> <audio src="map_narration.rm"/> <img src="map.rp" region="full" fill="freeze"/> </par> 23/11/2006 Sistemi di Elaborazione Dati 71 Video Slide Show <par> <switch> <img src="slideshow.rp" region="full" fill="freeze" systembitrate="45000"/> <img src="slideshow_low.rp" region="full" fill="freeze" systembitrate="20000"/> </switch> <seq> <video src="video_narration.rm" region="video" dur="27s"/> <audio src="video_narration_audio_only.rm" clip-begin="27s" dur="53s"/> <video src="video_narration.rm" clip-begin="80s" region="video"/> </seq> </par> 23/11/2006 Sistemi di Elaborazione Dati 72 36 Alcune limitazioni di SMIL (1) { Non fa alcun controllo sulla coerenza: <par dur=“10s”> <audio src=“colonna_sonora” dur=“20s” > <audio src=“commento_parlato” dur=“15s” > </par> 23/11/2006 Sistemi di Elaborazione Dati 73 Alcune limitazioni di SMIL (2) { { { { 23/11/2006 l’utente può interagire solo con l’intera presentazione e non con i singoli componenti seguendo un link, non è possibile fermare la presentazione originaria non permette l’uso di transizioni … Sistemi di Elaborazione Dati 74 37