HTML & CSS για αρχάριους

HTML & CSS για αρχάριους (Μέρος 23): Πολυμέσα για την ιστοσελίδα (2)

Όλα τα βίντεο του μαθήματος HTML & CSS για αρχάριους

Μπορείτε να ενσωματώσετε αρχεία ήχου στο HTML5 με τον ίδιο εύκολο τρόπο που ενσωματώνετε τα βίντεο. Το HTML5 παρέχει ένα δικό του στοιχείο με το όνομα audio γι'αυτόν το σκοπό.

<audio src="song.mp3">
   Ο περιηγητής σας δεν υποστηρίζει το στοιχείο ήχου.
</audio>

Στο στοιχείο audio με το χαρακτηριστικό src ανατίθεται το όνομα του αρχείου που θα αναπαραχθεί. Το αρχείο δεν αναπαράγεται μέχρι να προστεθούν τα στοιχεία ελέγχου.

Για να εμφανιστούν τα στοιχεία ελέγχου, αναθέτετε στο στοιχείο audio το χαρακτηριστικό controls.

<audio src="song.mp3" controls>
   Ο περιηγητής σας δεν υποστηρίζει το στοιχείο ήχου.
</audio>



Στον περιηγητή πρέπει να φαίνεται κάπως έτσι:

HTML & CSS για αρχάριους (Μέρος 23): Πολυμέσα για την ιστοσελίδα (2)

Αν λείπει το controls, το στοιχείο που έχει ενσωματωθεί με το στοιχείο audio δεν εμφανίζεται. Είναι χρήσιμο να παραλείπετε το χαρακτηριστικό όταν θέλετε να προσθέσετε δικά σας στοιχεία ελέγχου μέσω JavaScript.

Επίσης, η χρήση του στοιχείου audio δεν είναι πάντα απρόβλεπτη. Τα προβλήματα συνήθως οφείλονται στους περιηγητές, οι οποίοι υποστηρίζουν διαφορετικά φορμάτ. Παρακάτω θα βρείτε τον τρέχοντα σταθμό αναφορικά με αυτό.

Περιηγητής
MP3

OGG

WAV

AU/SND

AIF

Firefox

όχι

ναι

ναι

όχι

όχι

Safari

ναι

όχι

ναι

ναι

ναι

Chrome

ναι

ναι

όχι

όχι

όχι

Opera

όχι

ναι

ναι

ναι

όχι



Τι χρειάζεται να γίνει; Το στοιχείο audio παρέχει επίσης τη δυνατότητα να οριστούν πρόσθετα στοιχεία πηγής. Σε αυτά τα στοιχεία ανατίθενται τα διάφορα φορμάτ για τους διάφορους περιηγητές. Ένα παράδειγμα:

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



Στα χαρακτηριστικά src αναθέτετε τα αντίστοιχα αρχεία που υπάρχουν σε διαφορετικά φορμάτ. Εκτός από το controls, υπάρχουν και άλλα χαρακτηριστικά για το στοιχείο audio. Ένα από αυτά είναι το autoplay.

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



Όταν το χαρακτηριστικό είναι ενεργοποιημένο, η αναπαραγωγή του αρχείου ήχου ξεκινά αυτόματα μόλις φορτωθεί. Συνήθως δεν τίθεται αυτό το χαρακτηριστικό, επειδή θα έπρεπε να αφήνετε τους επισκέπτες να αποφασίζουν πότε να αναπαραχθεί ένα αρχείο ήχου.

Επιπλέον, το χαρακτηριστικό loop είναι ενδιαφέρον. Αυτό το χαρακτηριστικό κάνει το αρχείο να παίζει σε επανάληψη.

Όπως στην ενσωμάτωση βίντεο, υπάρχουν και για τα αρχεία ήχου τα δυο χαρακτηριστικά type και media. Έτσι, μπορείτε να καθορίσετε τα αντίστοιχα MIME τύπη και codecs εδώ. Στο πρότυπο HTML5 αναφέρονται οι ακόλουθες τυπικές τιμές για το χαρακτηριστικό type:

• type='audio/ogg; codecs=vorbis'

• type='audio/ogg; codecs=speex'

• type='audio/ogg; codecs=flac'

Να σημειωθεί ότι τα δύο χαρακτηριστικά πρέπει να χρησιμοποιούνται αποκλειστικά στο στοιχείο source, όχι όμως στο στοιχείο audio.

Ενσωμάτωση Flash & κ.λπ.

Ταινίες Flash μπορούσαν να ενσωματωθούν στις προηγούμενες εκδόσεις HTML μέσω μιας συνδυασμένης χρήσης των στοιχείων embed και object. Η σύνολη σύνταξη – η οποία είναι παράδοξα ασχημη – ήταν για παράδειγμα έτσι:

<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>

Αυτή είναι η κλασική μέθοδος με τα στοιχεία object και embed, που υπήρχε στην HTML εδώ και πολύ καιρό.

HTML & CSS για αρχάριους (Μέρος 23): Πολυμέσα για την ιστοσελίδα (2)



Ωστόσο, το "κλασικό" εδώ δεν σημαίνει ότι αυτή η μέθοδος είχε ήδη εγκριθεί από το W3C στο παρελθόν. Στην HTML 4 προτιμήθηκε το στοιχείο object, το οποίο ερμηνεύονταν σωστά από το Internet Explorer. Διαφορετικά, ο Netscape Navigator προτιμούσε το στοιχείο embed. Αυτή η διαφορετική ερμηνεία απαιτούσε τον συνδυασμό των στοιχείων object και embed.

Το HTML5 παρέχει επίσημα τα δύο στοιχεία object και embed για την ενσωμάτωση ενεργών περιεχομένων.

Το embed είναι ένας δοχείο που προορίζεται για την προβολή μη-HTML περιεχομένων που δεν καλύπτονται από άλλα στοιχεία όπως img, video, audio κλπ. Για την αναπαραγωγή των ενσωματωμένων περιεχομένων χρειάζονται συνήθως πρόσθετα προγράμματα περιήγησης.

Με τη χρήση της embed τώρα μπορούν να ενσωματωθούν πρότυπα Flash βίντεο. Εδώ ένα παράδειγμα του πως μπορεί να μοιάζει κάτι τέτοιο:

<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"
  />



Στο στoιχείο embed μπορούν να ανατεθούν διάφορες ιδιότητες. Το πιο σημαντικό είναι βέβαια άλλη μια φορά η ιδιότητα src. Διότι μέσω αυτής τελικά δίνετε το αρχείο που θα ενσωματωθεί. Μέσω της ιδιότητας type καθορίζεται ο τύπος MIME.

Για τα Flash αναφέρεται σε application/x-shockwave-flash. Αν θέλετε να ενσωματώσετε ένα αρχείο LaTeX, πρέπει να σημειώσετε application/x-latex. Πλάτος και ύψος του ενσωματωμένου αρχείου καθορίζονται μέσω των width και height.

HTML & CSS για αρχάριους (Μέρος 23): Πολυμέσα για την ιστοσελίδα (2)

Υπάρχουν επιπλέον και άλλες ιδιότητες που ωστόσο δεν ανήκουν επίσημα στο HTML5. Αλλά επιτρέπουν τον έλεγχο του χρησιμοποιούμενου πρόσθετου. Έτσι, στο προηγούμενο παράδειγμα, μέσω των δύο "Flash-ιδιοτήτων" allowscriptaccess και allowfullscreen καθορίστηκε ότι είναι δυνατή η πρόσβαση σε σενάρια και η λειτουργία πλήρους οθόνης. Επίσης υπάρχει και η ιδιότητα quality μέσω της οποίας καθορίζεται η ποιότητα της ταινίας Flash.

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

Το στοιχείο object

Το στοιχείο object λειτουργεί παρόμοια με το embed ως δοχείο για περιεχόμενα. Σε αντίθεση με το embed, το object γνωρίζει όμως τρία διαφορετικά μοντέλα περιεχομένου. Αν ο περιηγητής αναγνωρίσει ότι πρόκειται για μια γραφική απεικόνιση, συμπεριφέρεται όπως αν πρόκειται για στοιχείο img. Αν το αναφερόμενο αντικείμενο είναι περιεχόμενο ιστού, αυτό εμφανίζεται μέσα σε ένα iFrame. (Περισσότερα για τα iFrames στο πλαίσιο αυτής της σειράς). Σε άλλα περιεχόμενα, το object συμπεριφέρεται όπως το embed.

Το παρακάτω παράδειγμα δείχνει την ενσωμάτωση ενός Flash-ταινία μέσω του στοιχείου 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>
       In Ihrem Browser ist kein Flash-Plug-in vorhanden.
    </p>
 </object>

Τέλος, βέβαια, η ερώτηση είναι αν πρέπει να χρησιμοποιηθεί το object ή το embed. Με μια πρώτη ματιά, τα δύο στοιχεία φαίνεται ότι είναι σχεδόν ταυτόσημα. Και για την ακρίβεια, το στοιχείο object μπορεί να κάνει ό,τι κάνει και το στοιχείο embed.

HTML & CSS για αρχάριους (Μέρος 23): Πολυμέσα για την ιστοσελίδα (2)



Για την ενσωμάτωση περιεχόμενων – εκτός από εικόνες εννοείται – θα έπρεπε να χρησιμοποιείται κανονικά το στοιχείο object. Αυτό το στοιχείο επιτρέπει την παροχή εναλλακτικών περιεχομένων που θα εμφανίζονται όταν το ενσωματωμένο στοιχείο δεν μπορεί να φορτωθεί.