Dopo aver illustrato nei precedenti articoli la teoria sottostante alla gestione delle API multimediali, messe a disposizione da HTML 5, vediamo ora, in pratica, come realizzare un semplice player di risorse di tipo video.
Il progetto è denominato
SimplePlayer e ne potete trovare, e provare, un’
anteprima, nella quale per il momento sono attivi solo lo
structural layer (il codice XHTML) e il
presentation layer (il codice CSS); nell'articolo finale implementeremo, invece, il
behavior layer (il codice JavaScript).
Per quanto attiene al layer strutturale esso è composto dal seguente file
player.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="player.css" rel="stylesheet" type="text/css" />
<script src="player.js" type="text/javascript"></script>
<script type="text/javascript">
window.addEventListener("load", PLAYER.init, false); </script>
<title>SimplePlayer V0.1 By Pellegrino ~thp~ Principe</title>
</head>
<body>
<video id="video_container" width="600" height="400" class="vc" poster="img/poster.png"></video>
<div id="controls">
<div id="c_start" class="c_main" title="Start"></div>
<div id="c_rew" class="c_main" title="Rewind"></div>
<div id="c_play" class="c_main" title="Play"></div>
<div id="c_pause" class="c_main" title="Pause"></div>
<div id="c_stop" class="c_main" title="Stop"></div>
<div id="c_forw" class="c_main" title="Fast Forward"></div>
<div id="c_end" class="c_main" title="End"></div>
<div id="c_text_and_duration" class="c_main" title="Current Time/ Duration">00:00:00 / 00:00:00</div>
<div id="c_volume_up" class="c_main" title="Volume UP"></div>
<div id="c_volume_down" class="c_main" title="Volume DOWN"></div>
<div id="c_volume_on_off" class="c_main" title="Volume ON/OFF"></div>
<div id="c_fullscreen" class="c_main" title="Fullscreen"></div>
</div>
<div id="playlist">
<div id="track 1">Wikimedia Italia Wikiguida 2 By Christian Biasco e Francesca Terri</div>
<div id="track 2">Pier HolyIsle Waves By Secretlondon</div>
<div id="track 3">Sunset Time Lapse 31-12-2009 By XtUProductions</div>
<div id="track 4">Galaxy Collision By Eclipse.sx</div>
<div id="track 5">Speedsolving a 3×3×3 Rubik's Cube with Fridrich Method By Euku</div>
</div>
<div id="copyright">© All video files are licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Logo icons from Nuvola theme (KDE 3) design by David Vignoni (GPL). Controls icons by FatCow Web Hosting under Creative Commons Attribution 3.0 United States.</div>
</body>
</html>
Creiamo la struttura del player che è principalmente composta: da un elemento
video; un elemento
div (
id=controls) al cui interno sono posti altri
div, ognuno rappresentante un singolo controllo (
play,
pause,
stop, ecc.); da un elemento
div (
id=playlist) al cui interno sono posti altri cinque
div ciascuno rappresentante una traccia da riprodurre; da un
div dove è indicata la licenza per i file video da visualizzare. Esso include, inoltre, i file
player.css e
player.js e assegna un evento
load all'oggetto
window, che consente di invocare, al termine del caricamento della pagina HTML, la funzione
init, per l'inizializzazione dell'oggetto
PLAYER, al cui interno è scritta la logica di gestione del riproduttore multimediale.
- Pubblicazioni correlate:
- 10-05-2010 Guida ad HTML5: storia della sua nascita (1/3)
- 11-05-2010 Guida ad HTML5: storia della sua nascita (2/3)
- 17-05-2010 Guida ad HTML5: storia della sua nascita (3/3)
- 18-05-2010 Guida ad HTML5: supporto dei browser (1/6)
- 24-05-2010 Guida ad HTML5: supporto dei browser (2/6)
- 25-05-2010 Guida ad HTML5: supporto dei browser (3/6)
- 31-05-2010 Guida ad HTML5: supporto dei browser (4/6)
- 01-06-2010 Guida ad HTML5: supporto dei browser (5/6)
- 07-06-2010 Guida ad HTML5: supporto dei browser (6/6)
- 08-06-2010 Guida ad HTML5: l'elemento canvas, l'area del disegno
- 14-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (1/4)
- 18-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (2/4)
- 21-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (3/4)
- 25-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (4/4)
- 28-06-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (1/4)
- 02-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (2/4)
- 05-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (3/4)
- 09-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (4/4)
- 12-07-2010 Guida ad HTML5: l’elemento canvas, manipolazione diretta dei pixel (1/2)
- 16-07-2010 Guida ad HTML5: l’elemento canvas, manipolazione diretta dei pixel (2/2)
- 19-07-2010 Guida ad HTML5: l’elemento canvas, sfumature
- 23-07-2010 Guida ad HTML5: l’elemento canvas, ombreggiature
- 26-07-2010 Guida ad HTML5: l’elemento canvas, compositing (1/2)
- 30-07-2010 Guida ad HTML5: l’elemento canvas, compositing (2/2)
- 30-08-2010 Guida ad HTML5: l’elemento canvas, stili di linea e pattern (1/2)
- 03-09-2010 Guida ad HTML5: l’elemento canvas, stili di linea e pattern (2/2)
- 06-09-2010 Guida ad HTML5: multimedialità, concetti propedeutici (1/2)
- 10-09-2010 Guida ad HTML5: multimedialità, concetti propedeutici (2/2)
- 13-09-2010 Guida ad HTML5: multimedialità, l'elemento video
- 17-09-2010 Guida ad HTML5: multimedialità, gli elementi audio e source
- 20-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (1/6)
- 24-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (2/6)
- 27-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (3/6)
- 01-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (4/6)
- 04-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (5/6)
- 08-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (6/6)
- 15-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (2/7)
- 20-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (3/7)
- 22-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (4/7)
- 25-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (5/7)
- 29-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (6/7)
- 05-11-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (7/7)
- 08-11-2010 Guida ad HTML5: storage per le web application (1/3)
- 12-11-2010 Guida ad HTML5: storage per le web application (2/3)
- 15-11-2010 Guida ad HTML5: storage per le web application (3/3)
- 19-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (1/3)
- 22-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (2/3)
- 26-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (3/3)
- 29-11-2010 Guida ad HTML5: applicazioni web offline (1/5)
- 03-12-2010 Guida ad HTML5: applicazioni web offline (2/5)
- 06-12-2010 Guida ad HTML5: applicazioni web offline (3/5)
- 10-12-2010 Guida ad HTML5: applicazioni web offline (4/5)
- 13-12-2010 Guida ad HTML5: applicazioni web offline (5/5)
- 17-12-2010 Guida ad HTML5: la geolocalizzazione (1/4)
- 20-12-2010 Guida ad HTML5: la geolocalizzazione (2/4)
- 24-12-2010 Guida ad HTML5: la geolocalizzazione (3/4)
- 27-12-2010 Guida ad HTML5: la geolocalizzazione (4/4)
- 31-12-2010 Guida ad HTML5: microdata (1/4)
- 03-01-2011 Guida ad HTML5: microdata (2/4)
- 10-01-2011 Guida ad HTML5: microdata (3/4)
- 14-01-2011 Guida ad HTML5: microdata (4/4)
- 17-01-2011 Guida ad HTML5: drag and drop (1/5)
- 21-01-2011 Guida ad HTML5: drag and drop (2/5)
- 24-01-2011 Guida ad HTML5: drag and drop (3/5)
- 28-01-2011 Guida ad HTML5: drag and drop (4/5)
- 31-01-2011 Guida ad HTML5: drag and drop (5/5)
- 04-02-2011 Guida ad HTML5: nuovi elementi semantici (1/6)
- 07-02-2011 Guida ad HTML5: nuovi elementi semantici (2/6)
- 11-02-2011 Guida ad HTML5: nuovi elementi semantici (3/6)
- 14-02-2011 Guida ad HTML5: nuovi elementi semantici (4/6)
- 18-02-2011 Guida ad HTML5: nuovi elementi semantici (5/6)
- 21-02-2011 Guida ad HTML5: nuovi elementi semantici (6/6)
- 25-02-2011 Guida ad HTML5: l’API di messaggistica (1/8)
- 28-02-2011 Guida ad HTML5: l’API di messaggistica (2/8)
- 04-03-2011 Guida ad HTML5: l’API di messaggistica (3/8)
- 07-03-2011 Guida ad HTML5: l’API di messaggistica (4/8)
- 11-03-2011 Guida ad HTML5: l’API di messaggistica (5/8)
- 14-03-2011 Guida ad HTML5: l’API di messaggistica (6/8)
- 18-03-2011 Guida ad HTML5: l’API di messaggistica (7/8)
- 21-03-2011 Guida ad HTML5: l’API di messaggistica (8/8)