Il linguaggio HTML consente di gestire, allโinterno delle pagine web, elementi multimediali come file audio e video.
Si pensi, ad esempio, uno store di musica online che permette di ascoltare le anteprime delle canzoni che si intendono acquistare, oppure una testata giornalistica che permette di vedere determinati servizi video, oppure ad una TV online o servizi di streaming (come ad esempio YouTube).
In un caso, nellโaltro, o nellโaltro ancora, diciamo semplicemente che lโHTML permette la gestione di elementi multimediali allโinterno delle pagine web attraverso una serie di tag che, in questa lezione della nostra guida, vedremo di illustrare.
Riprodurre file multimediali con HTML 4
La versione 4 di HTML invita allโutilizzo del tag <object> per la riproduzione di elementi multimediali come file audio e video. Quasi tutti i browser, tuttavia, offrono da sempre pieno supporto al tag <embed> che รจ finito col diventare uno "standard di fatto" per la riproduzione di file multimediali on-line. Per dovere di precisione รจ giusto sottolineare come questo tag non rientri nelle specifiche di HTML 4 pertanto, se utilizzato, rende non valido il documento da un punto di vista sintattico.
Il tag <bgsound>
Vediamo un esempio molto semplice di inserimento di una musica di sottofondo in una pagina Web:
<bgsound src="canzone.mp3" loop="1">
Il tag bgsound supporta gli attributi src che specifica il nome ed il percorso del file audio in questione, e lโattributo loop che permette di specificare il numero di volte che il file musicale deve ripetersi quando arriva alla fine; accetta un valore numerico oppure il valore speciale infinite che itera il suono allโinfinito, finchรจ ovviamente la pagina verrร chiusa.
Eโ bene segnalare che il tag bgsound รจ decisamente obsoleto e non รจ cross-browser essendo compatibile solo con IExplorer e, come tale, viene riportato in questa lezione solo per dovere di completezza dโinformazione e non perchรฉ possa avere un uso pratico.
Il tag <object>
Come detto, le specifiche di HTML 4 invitano allโutilizzo del tag <object> al fine di inserire "oggetti" allโinterno dei documenti HTML. La sintassi di base di questo tag รจ la seguente:
<object data="nome_file.mp3" type="audio/mpeg"></object>
Il tag in questione รจ corredato da due attributi fondamentali: data (che contiene il percorso verso il file multimediale che si desidera riprodurre nella pagina web) e type (che esplicita il MIME Type del file che si desidera includere nel documento HTML).
I MIME Type piรน comuni sono:
- Audio:
- audio/mpeg (file MP3)
- audio/ogg (file OGG)
- audio/vnd.wave (file WAV)
- audio/midi (file MIDI)
- Video:
- video/avi (file AVI)
- video/mpeg (file MPEG)
- video/quicktime (file QuickTime)
- video/webm (file WEBM)
- video/x-flv (Flash Video)
Quella vista qui sopra, รจ bene precisarlo, รจ la sintassi minimale del tag object, in quanto รจ possibile arricchire lโesperienza multimediale dellโutente aggiungendo nuove opzioni attraverso lโutilizzo dei tag <param>. Vediamo un esempio piรน completo nel quale sono gestite le opzioni autostart e loop:
<object data="nome_file.mp3" type="audio/mpeg">
<param name="autostart" value="true">
<param name="loop" value="false">
</object>
Queste opzioni possono essere valorizzato come true/false a seconda che si desideri attivare o meno lโavvio automatico della riproduzione e lโeffetto loop (cioรจ la riproduzione ciclica allโinfinito).
Per motivi di compatibilitร con vecchie versioni di IExplorer รจ suggerito utilizzare un terzo tag <param> (src) per specificare il sorgente del file multimediale: si tratta di una ripetizione del valore giร specificato nellโattributo data del tag object.
<object data="nome_file.mp3" type="audio/mpeg">
<param name="autostart" value="true">
<param name="loop" value="false">
<param name="src" value="nome_file.mp3">
</object>
Il tag <embed>
Il Tag da <embed> รจ diventato, come detto, uno standard di fatto per la riproduzione di file audio e video. Il suo utilizzo, infatti, รจ molto semplice e consente di visualizzare โ allโinterno di una pagina web โ il player multimediale di default installato sui PC impostando determinate funzionalitร attraverso una serie di attributi. Vediamo di seguito lโelenco degli attributi supportati dal tag embed (corredati da esempi):
Attributo "src"
Come per le immagini questo attributo serve a specificare lโindirizzo del file sonoro o video che si desidera riprodurre che, tra le varie estensioni supportate da questo plug-in, puรฒ essere di tipo:
- .mp3
- .wav
- .midi
- .rmi
- .mpeg (per i video)
- .avi (per i video)
e cosi via.
Tenete conto anche della dimensione del file che volete inserire: mi raccomando, perchรจ piรน "grosso" รจ e piรน tempo lโutente dovrร attendere per caricare il brano o il video da riprodurre.
Un esempio:
<embed <strong>src=</strong>"nome_file.mp3"></embed>
Attributi "width" ed "height"
Impostano rispettivamente la larghezza e lโaltezza del player.
Chi utilizza vecchie versioni del browser Internet Explorer vedrร apparire un player molto grande, rischiando di rovinare il layout della pagina. Allo scopo di evitare questo inconveniente รจ bene dare sempre delle misure al player; questo si fa nello stesso modo in cui si danno le dimensioni a tabelle, immagini, e cosi via, ossia aggiungendo al Tag gli attributi width ed height, le cui misure andranno espresse in pixel.
Tenete poi anche conto che le dimensioni di default del player sono diverse a seconda del browser, altro motivo per cui รจ consigliabile impostarne dei valori fissi.
Nota: per evitare di mettere misure troppo piccole, e "tagliare fuori" cosi il controllo del volume, impostare la larghezza dellโembed minimo a 280.
Facciamo un esempio che comprende la barra del volume:
<embed src="nome_file.mp3" <strong>width=</strong>"280" <strong>height=</strong>"45"></embed>
Facciamo un secondo esempio che comprende solo i pulsanti PLAY e STOP:
<embed src="nome_file.mp3" <strong>width=</strong>"75" <strong>height=</strong>"45"></embed>
Attributo "autostart"
Avrete notato che, accedendo ad alcune pagine web, la musica o un dato video si avviano automaticamente allโapertura della pagina. Ciรฒ accade perchรจ lโattributo autostart รจ impostato di default a valore "true". Se volete invece che la riproduzione parta solo quando lโutente preme il bottone PLAY, impostate questo attributo a "false".
Facciamo un esempio:
<embed
src="nome_file.mp3"
width="280"
height="45"
<strong>autostart</strong>="false">
</embed>
Attenzione: le specifiche dei browser oggi in circolazione disattivano di default i video ed i file audio in autoplay, pertanto lโattributo autostart, di fatto, non produce alcun risultato pratico.
Attributo "loop"
Eโ possibile far si che la riproduzione del file si ripeta (o meno) allโinfinito. Allo scopo dobbiamo chiamare in causa lโattributo loop.
Se impostato a 1 (o true) farร si che una volta terminata la riproduzione questa ricominci da capo automaticamente, allโinfinito. Altrimenti, di default, loop assume valore 0 (o false), e una volta eseguito la riproduzione del file il player si fermerร .
Ad esempio:
<embed
src="nome_file.mp3"
width="280"
height="45"
autostart="false"
<strong>loop</strong>="1">
</embed>
Attributo "hidden"
Potete anche far si, volendo, che il player non venga visualizzato, impostando lโattributo hidden al valore "true" (il valore di default, comโรจ intuibile, รจ "false"). Ovviamente una simile impostazione puรฒ avere senso solo per i file audio e non certo per i video: puรฒ essere utile, ad esempio, se volete mettere un sottofondo musicale al sito. Ricordatevi perรฒ in questo caso di settare lโattributo "autostart" a "true", in modo da far partire il brano in automatico, in quanto lโutente, non vedendo il player, non potrร interagirvi in alcun modo.
Un esempio:
<embed
src="nome_file.mp3"
autostart="true"
loop="1"
<strong>hidden</strong>="true">
</embed>
Il Tag "noembed"
Come accennato nel paragrafo introduttivo, cโรจ da dire anche che <embed>, seppur ben supportato, non รจ compatibile con tutti i browser; ecco perchรจ รจ bene aggiungere, subito dopo la chiusura </embed>, il Tag <noembed>, il cui scopo รจ fornire un testo alternativo in caso di mancato supporto.
Segue un esempio:
<embed src="nome_file.mp3"></embed>
<noembed>Elemento multimediale non supportato!</noembed>
Utilizzo congiunto di <object> e <embed>
Di frequente i due tag descritti in questa pagina sono tilizzati congiuntamente al fine di ottenere una piena compatibilitร cross-browser. Per farlo si utilizza il tag embed annidiato allโinterno di object in questo modo:
<object data="nome_file.mp3" type="audio/mpeg">
<param name="autostart" value="true">
<param name="loop" value="false">
<param name="src" value="nome_file.mp3">
<embed src="nome_file.mp3" autostart="true" loop="false"></embed>
</object>
Gestire la riproduzione di file multimediali con HTML5
Con lโavvento di HTML5 la riproduzione di file multimediali non รจ piรน ad appannaggio dei tag <object> ed <embed> i quali, da fatto, sono stati soppiantati da nuove specifiche del linguaggio.
Tra le novitร che lโHTML5 offre rispetto alle versioni precedenti, infatti, vi รจ la possibilitร di chiamare direttamente i contenuti multimediali tramite tag dedicati. I principali tag che interessano la multimedialitร sono <audio> e <video>
Il tag <audio>
Il tag <audio> definisce tutto cio che ha a che fare con il sonoro come, ad esempio, la musica o altri suoni.
Oltre agli attributi standard, il tag audio supporta le seguenti proprietร specifiche:
- autoplay: se questo attributo รจ presente, la riproduzione del file audio partitร automaticamente;
- controls: se dichiarato, verranno visualizzati i controlli, ad esempio i pulsanti Play e Stop;
- loop: se utilizzato, determina il loop (la ripetizione) del file musicale una volta terminato;
- preload: se presente, il file audio verrร precaricato al caricamento della pagina, in modo tale da essere pronto per una riproduzione senza attese. Se lโattributo autoplay รจ stato dichiarato, preload viene ignorato;
- src: specifica la URL del file audio da riprodurre.
<audio src="driin.ogg" autoplay="autoplay" controls="controls">
Il tuo browser non supporta l'audio gestito con HTML5.
</audio>
Il tag <audio> supporta anche la possibilitร di gestire piรน di un sorgente; in tal caso si omette lโattributo src e si annidano, allโinterno del tag <audio>, dei tag <source> in questo modo:
<audio controls="controls">
<source src="canzone1.ogg" type="audio/ogg">
<source src="canzone2.mp3" type="audio/mpeg">
Il tuo browser non supporta l'audio gestito con HTML5.
</audio>
Nota: attualmente i formati audio supportati sono mp3, wav e ogg.
Di seguito uno screenshot realizzato con Firefox:
Il tag <video>
Il tag <video> definisce tutto cio che ha a che fare con la riproduzione visiva, come la le animazioni, i filmati o in generale un qualsiasi stream video.
Come nel caso del tag audio il tag video supporta gli attributi standard ed alcuni attributi dedicati:
- autoplay: se questo attributo รจ presente, la riproduzione del filmato partitร automaticamente;
- controls: se dichiarato, verranno visualizzati i controlli, ad esempio i pulsanti Play e Stop;
- height: permette di specificare lโaltezza in pixel del riproduttore video;
- loop: imposta la riproduzione continua. Al termine dellโesecuzione il filmato viene riprodotto da capo ciclicamente;
- poster: con questo attributo รจ possibile definire la URL di unโimmagine da mostrare prima e/o dopo la riproduzione del video o, comunque, quando il filmato non รจ disponibile;
- preload: se presente, il filmato verrร precaricato al caricamento della pagina, in modo tale da essere pronto per una riproduzione senza attese. Se lโattributo autoplay รจ stato dichiarato, preload viene ignorato;
- src: specifica la URL del flusso video da riprodurre;
- width: permette di specificare la larghezza in pixel del riproduttore video.
Di seguito un esempio:
<video src="filmato.ogg" controls="controls">
Il tuo browser non supporta i contenuti video HTML5.
</video>
Come per il tag <audio>, anche <video> supporta la possibilitร di gestire piรน di un filmato; la sintassi รจ la medesima del tag <audio>:
<video controls="controls">
<source src="filmato1.ogg" type="video/ogg">
<source src="filmato2.mp4" type="video/mp4">
Il tuo browser non supporta i contenuti video HTML5.
</video>
Di seguito uno screenshot realizzato con Firefox:
File multimediali e prestazioni
Eโ bene ricordare, infine, che il browser, per poter riprodurre un file multimediale (audio o video che sia) deve prima scaricarlo. Lโutilizzo dei tag presentati, quindi, deve essere attentamente soppesato in quanto potrebbe rallentare la navigazione dellโutente in base alla qualitร della connessione e del peso del file multimediale che si vuole includere nella pagina.
Inserire video di Youtube, Vimeo o Facebook
Allโinterno delle nostre pagine web รจ possibile incorporare file video provenienti da sorgenti esterne come YouTube, Vimeo o Facebook. In questo caso lโinclusione del video avviene mediante il semplice copia e incolla del codice di condivisione che, il piรน delle volte, si basa sullโutilizzo di un semplice <iframe>.