...

Lezione12_Plugin

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Lezione12_Plugin
Multimedia e Plugin
Roberto Bruni e Daniela Giorgetti
Plugin
• PLUG-IN = Estensioni del browser per gestire (file
contenenti) dati particolari (es. audio, filmati, grafica 3D)
– introdotti la prima volta con NN3
• rendono modulare l’architettura del browser
– gli utenti possono scrivere il sw per gestire opportuni tipi di file e
collegarlo al browser per rendere la gestione trasparente all’utente
– esempi
• ShockWave e Flash (Macromedia) per animazioni e video
• Acrobat (Adobe) per testo formattato
• RealPlayer per audio e video
Bruni e Giorgetti
2
Plugin e browser
• NN e IE supportano molti plugin disponibili
gratuitamente (anche nelle configurazioni di base)
– di solito ci sono versioni diverse dello stesso plugin a
seconda del browser e della piattaforma dove risiede
• Per includere un file che usa i plugin in un
documento HTML si usa il tag <EMBED>
• La classificazione del tipo di file avviene con MIME
–
–
–
–
Multipurpose Internet Mail Extension
es. text/html, text/plain, image/gif
il tipo MIME viene sempre spedito dal server al browser
se il browser non supporta quel tipo chiede di salvare il
file
Bruni e Giorgetti
3
LiveConnect
• Come può JS interagire con i plugin?
– LiveConnect è uno “standard” Netscape che
permette l’interazione tra JS, Java e plugin
– i parametri dei plugin vengono visti come
oggetti
– questi oggetti diventano parte integrante del
DOM
– anche IE4+ supporta questo tipo di
interazione
• però non tutte le caratteristiche
Bruni e Giorgetti
4
Oggetto PLUGIN (solo NN)
• navigator.plugins: array degli oggetti
rappresentanti i plugin installati nel browser
• ogni plugin è un array di oggetti mimeTypes che
però ha anche le seguenti proprietà:
– name: il nome del plugin
– filename: l’eseguibile caricato durante
l’installazione
– description: descrizione fornita dal produttore
– length: lunghezza dell’array dei tipi MIME
supportati dal plugin
• Anche l’oggetto navigator (sotto NN) possiede
una proprietà mimeTypes
– array di tutti i tipi MIME riconosciuti dal browser
Bruni e Giorgetti
5
Oggetto MIMETYPES (solo NN)
• navigator.mimeTypes[i]
• navigator.plugins[i][j]
• ogni tipo MIME ha le seguenti proprietà:
– type: codifica del tipo MIME
– enabledPlugin: oggetto plugin installato
che gestisce quel tipo MIME
– description: descrizione del tipo MIME
– suffixes: estensione standard dei file di
quel tipo MIME
Bruni e Giorgetti
6
Controllare presenza di plugin
• Funziona solo su NN
• permette di introdurre animazioni etc essendo sicuri che
siano supportati (ed escluderle altrimenti)
• esempio
test = navigator.mimeTypes[“video/quicktime”];
if (test) {
document.writeln(
“<embed src=‘quick.mov’ height=‘100’ width=‘100’>”);
} else {
document.writeln(
“<img src=‘quick.gif’ height=‘100’ width=‘100’>”);
}
Bruni e Giorgetti
7
Orchestrazione
• Gli oggetti multimediali del documento sono
contenuti nell’array document.embeds (come
per immagini, form, etc)
– supportato anche da IE4+
• le proprietà e metodi degli oggetti “embedded”
dipendono dai plugin in uso
– esempio: metodi play() e stop() per file audio
Bruni e Giorgetti
8
Suonare con il mouse I
• Prepariamo un pagina che mostri una tastiera sul
quale l’utente può agire col cursore del mouse
– 2 immagini per rappresentare i tasti bianchi e neri
– 13 note (associate ad una ottava) salvate in file .wav
– il tag <embed> per includere i suoni con attributi
• hidden=true
• autostart=false
– possiamo catturare il click sui tasti e suonare la nota
corrispondente (oppure usare onmouseover)
Bruni e Giorgetti
9
Suonare con il mouse II
<body>
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
<embed
…
src=“C0.wav”
src=“Cs0.wav”
src=“D0.wav”
src=“Ds0.wav”
src=“E0.wav”
src=“F0.wav”
src=“Fs0.wav”
src=“G0.wav”
src=“Gs0.wav”
src=“A0.wav”
src=“As0.wav”
src=“B0.wav”
src=“C1.wav”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
hidden=“true”
Bruni e Giorgetti
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“alse”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
autostart=“false”/>
10
Suonare con il mouse III
…
<h1>Suonare con il mouse</h1>
<hr />
<a onClick="playnote(0);">
<img border="0" src="whitekey.gif"
<a onClick="playnote(1);">
<img border="0" src="blackkey.gif"
<a onClick="playnote(2);">
<img border="0" src="whitekey.gif"
<a onClick="playnote(3);">
<img border="0" src="blackkey.gif"
<a onClick="playnote(4);">
<img border="0" src="whitekey.gif"
align="top"></a>
align="top"></a>
align="top"></a>
align="top"></a>
align="top"></a>
…
<a onClick="playnote(12);">
<img border="0" src="whitekey.gif" align="top"></a>
<hr />
</body>
Bruni e Giorgetti
11
Suonare con il mouse IV
<script language="JavaScript">
<!-function playnote(note) {
document.embeds[note].play();
}
//-->
</script>
Bruni e Giorgetti
12
Esercizi
Bruni e Giorgetti
13
Fly UP