HTML & CSS pentru începători.

HTML & CSS pentru începători (Partea 23): Multimedia pentru site-ul web (2)

Toate videoclipurile tutorialului HTML & CSS pentru începători

Fașă audio le puteți încorpora în HTML5 la fel de ușor ca și videoclipurile. HTML5 pune la dispoziție un element propriu numit audio pentru acest lucru.

<audio src="song.mp3">
   Browserul tău nu suportă elementul audio.
</audio>

Elementului audio i se atribuie numele fișierului de redat prin atributul src. Cu toate acestea, fișierul nu este redat încă. Pentru aceasta, sunt necesare elemente de control.

Dacă doriți să afișați elementele de control, atribuiți elementului audio atributul controls.

<audio src="song.mp3" controls>
   Browserul tău nu suportă elementul audio.
</audio>



În browser, ar trebui să arate astfel:

HTML & CSS pentru începători (Partea 23): Multimedia pentru site-ul web (2)

Dacă lipsește controls, elementul încorporat prin audio nu va fi vizibil. Este util să omiteți acest atribut când doriți să inserați elemente de control proprii prin JavaScript.

Folosirea elementului audio nu este însă fără probleme. Motivul este încă o dată reprezentat de browsere, care susțin formate diferite. Tabelul de mai jos vă oferă situația actuală în acest sens.

Browser
MP3

OGG

WAV

AU/SND

AIF

Firefox

nu

da

da

nu

nu

Safari

da

nu

da

da

da

Chrome

da

da

nu

nu

nu

Opera

nu

da

da

da

nu



Ce se poate face? Elementul audio vă oferă posibilitatea de a defini elemente source suplimentare. Aceste elemente vor primi, în schimb, formatele diferite pentru browserele respective. Un exemplu:

<audio controls>  
    <source src="song.mp3">  
    <source src="song.ogg">  
</audio>



Celor de atributelor src li se atribuie fișierele respective, care apoi sunt disponibile în formatele diferite. În plus față de controls, elementului audio îi sunt disponibile și alte atribute. Unul dintre acestea este autoplay.

<audio controls autoplay>  
    <source src="song.mp3">  
    <source src="song.ogg">  
</audio>



Dacă atributul este setat, redarea fișierului audio începe automat după ce acesta a fost încărcat. De obicei, acest atribut nu este setat, deoarece vizitatorilor li se ar trebui să li se permită să decidă când să redea un fișier audio.

De asemenea, atributul loop este interesant. Acest atribut face ca fișierul să fie redat într-o buclă.

Așa cum este și în cazul încorporării videoclipurilor, există și pentru fișierele audio cele două atribute type și media. Deci, puteți specifica aici tipurile MIME și codec-urile corespunzătoare. Specificate sunt în specificația HTML5 următoarele valori tipice pentru atributul type:

type='audio/ogg; codecs=vorbis'

type='audio/ogg; codecs=speex'

type='audio/ogg; codecs=flac'

Ați grijă că cele două atribute trebuie folosite doar la nivelul elementului source, nu și la nivelul elementului audio.

Încorporarea Flash & Co.

Fișierele Flash puteau fi integrate în versiunile anterioare ale HTML printr-o combinație de embed și object. Sintaxa rezultată - de altfel foarte urâtă - arăta așa:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="800" height="600">
  <param name=movie value="intro.swf">
 <param name=quality value=high>
 <embed src="intro.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="800" height="600"> </embed>
 </object>

Acesta este modul clasic prin intermediul elementelor object și embed, care există deja de mult timp în HTML.

HTML & CSS pentru începători (partea 23): Multimedia pentru site-ul web (2)



Cu toate acestea, "clasic" nu înseamnă că această variantă a fost aprobată în trecut de către W3C. Pentru că în HTML 4, elementul object a fost favorizat, fiind interpretat corect și de Internet Explorer. În schimb, Netscape Navigator-ul a optat pentru elementul embed. Această interpretare diferită a făcut necesară combinarea elementelor object și embed.

HTML5 pune la dispoziție în mod oficial cele două elemente object și embed pentru încorporarea conținutului activ.

embed este un container destinat afișării conținutului care nu este de tip HTML și care nu este acoperit de alte elemente precum img, video, audio etc. Pentru redarea conținutului încorporat, de obicei sunt necesare modulele browser-ului.

Prin embed se pot integra acum, de exemplu, filme Flash în conformitate cu standardele. Iată un exemplu despre cum ar putea arăta acest lucru:

<embed
    src="http://www.youtube.com/v/v1PgiBpTtao?fs=1&hl=de_DE"
    type="application/x-shockwave-flash"
    width="384"
    height="313"
    allowscriptaccess="always"
    allowfullscreen="true"
  />



Elementului embed i se pot asigna diferite atribute. Cel mai important, desigur, este din nou atributul src. Deoarece prin acesta se specifică în final fișierul de integrat. Prin atributul type se indică tipul MIME.

Pentru Flash, acesta este application/x-shockwave-flash. Dacă doriți în schimb să integrați un fișier LaTeX, scrieți application/x-latex. Lățimea și înălțimea fișierului integrat sunt controlate prin width și height.

HTML & CSS pentru începători (partea 23): Multimedia pentru site-ul web (2)

Mai există și alte atribute, care totuși nu fac oficial parte din HTML5. Ele permit totuși controlul plugin-ului utilizat. Astfel, în exemplul anterior, prin cele două "atribute Flash" allowscriptaccess și allowfullscreen s-a stabilit că accesul la script și modul ecran complet sunt posibile. Există de asemenea și atributul quality, prin care se poate determina calitatea filmului Flash.

<embed 
    src="flash.swf" 
    width="600" height="300" 
    type="application/x-shockwave-flash" 
    quality="high" 
 />

Elementul object

Elementul object servește similar cu embed ca un container pentru conținut. Spre deosebire de embed, obiectul cunoaște totuși trei modele de conținut diferite. Dacă browserul recunoaște că este vorba despre o imagine ce poate fi afișată direct, se comportă ca și cum ar fi un element img. Dacă obiectul referit este un conținut web, acesta va fi afișat în cadrul unui iFrame. (Mai multe despre iFrames ulterior în acest material). În cazul altor conținuturi, object se comportă ca și embed.

Următorul exemplu arată integrarea unui film Flash folosind elementul object.

<object
    type="application/x-shockwave-flash"
    data="http://www.youtube.com/v/BzYBY_9rnuA?version=3&hl=de_DE&rel=0"
    width="400"
    height="300">
    <param name="allowscriptaccess" value="always" />
    <param name="allowfullscreen" value="true" />
    <p>
       În browserul dvs. nu există un plug-in Flash.
    </p>
 </object>

Rămâne desigur întrebarea dacă ar trebui folosit object sau embed. La o primă vedere, cele două elemente par aproape identice. Și de fapt, elementul object poate face tot ceea ce poate și elementul embed.

HTML & CSS pentru începători (Partea 23): Multimedia pentru site-ul web (2)



Pentru integrarea de conținuturi – excepție făcând imaginile – de obicei ar trebui să se recurgă la elementul object. Acest element permite specificarea unor conținuturi alternative care vor fi afișate în cazul în care elementul integrat nu poate fi încărcat.