dimanche 30 mars 2014

14 - Insertion d'un élément audio

0 commentaires


En théorie, il suffit d'une simple balise pour jouer un son sur notre page :
1<audio src="musique.mp3"></audio>

En pratique, c'est un peu plus compliqué que cela.
Si vous testez ce code… vous ne verrez rien ! En effet, le navigateur va seulement télécharger les informations générales sur le fichier (on parle de métadonnées) mais il ne se passera rien de particulier.
Vous pouvez compléter la balise des attributs suivants :
  • controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement. Cela peut sembler indispensable, et vous vous demandez peut-être pourquoi cela n'y figure pas par défaut, mais certains sites web préfèrent créer eux-mêmes leurs propres boutons et commander la lecture avec du JavaScript.
  • width : pour modifier la largeur de l'outil de lecture audio.
  • loop : la musique sera jouée en boucle.
  • autoplay : la musique sera jouée dès le chargement de la page. Évitez d'en abuser, c'est en général irritant d'arriver sur un site qui joue de la musique tout seul !
  • preload : indique si la musique peut être préchargée dès le chargement de la page ou non. Cet attribut peut prendre les valeurs :
    • auto (par défaut) : le navigateur décide s'il doit précharger toute la musique, uniquement les métadonnées ou rien du tout.
    • metadata : charge uniquement les métadonnées (durée, etc.).
    • none : pas de préchargement. Utile si vous ne voulez pas gaspiller de bande passante sur votre site.
Ajoutons les contrôles et ce sera déjà mieux !
1<audio src="hype_home.mp3" controls></audio>

L'apparence du lecteur audio change en fonction du navigateur. La figure suivante représente par exemple le lecteur audio dans Google Chrome.
Pourquoi ouvrir la balise pour la refermer immédiatement après ?
Cela vous permet d'afficher un message ou de proposer une solution de secours pour les navigateurs qui ne gèrent pas cette nouvelle balise. Par exemple :
1<audio src="hype_home.mp3" controls>Veuillez mettre à jour votre navigateur !</audio>

Ceux qui ont un navigateur récent ne verront pas le message. Les anciens navigateurs, qui ne comprennent pas la balise, afficheront en revanche le texte qui se trouve à l'intérieur.
On a vu que certains navigateurs ne géraient pas le MP3, comment faire ?
Il faut proposer plusieurs versions du fichier audio. Dans ce cas, on va construire notre balise comme ceci :
1<audio controls>
2    <source src="hype_home.mp3"></source>
3    <source src="hype_home.ogg"></source>
4</audio>

Le navigateur prendra automatiquement le format qu'il reconnaît.

Leave a Reply