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