Jouer un son en JavaScript


Il ne faut pas oublier qu'il existe plusieurs navigateurs avec leurs propres tags HTML.
Il faut prévoir la correspondance pour les autres navigateurs sinon certains entendront un son, d'autres pas.

Netscape utilise le tag "<embed>"
Internet Explorer, quand à lui, utilise "<bgsound>"

La première chose à faire est donc de détecter quel navigateur le visiteur utilise, ceci grâce à la fonction navigator.appName (voir l'objet navigator pour plus d'informations).
Une fois celui-ci connu, on sait quel tag il faut utiliser.

Voici un script qui joue un son au chargement de la page en fonction du navigateur :

<html>
<head>
<title> </title>
<script LANGUAGE="JavaScript">
<!--
var MSIE = navigator.appName=="Microsoft Internet Explorer";
if (!MSIE) {
  document.write('<embed src="FichierSon" autostart=true hidden=true>');
} else {
  document.write('<bgsound src="FichierSon" loop="0">');
}
//-->
</script>
</head>

<body>

</body>
</html>

Il est aussi possible de démarrer ou d'arrêter un son à volonté (nécessite un navigateur 4.0 et plus)

Choisissez une musique :

<html>
<head>
<title> </title>
<script LANGUAGE="JavaScript">
<!--
var MSIE = navigator.appName=="Microsoft Internet Explorer";
function PlaySound(URL) {
  if (parseInt(navigator.appVersion) <4) return false;
  if (MSIE) {
    document.all.sound1.src = (URL);
  } else {
    document.sound1.play(false, URL);
  }
}

function StopSound() {
  if (parseInt(navigator.appVersion) <4) return false;
  if (MSIE) {
    document.all.sound1.src = ("");
  } else {
    document.sound1.stop();
  }
}

if (!MSIE) {
  document.write('<embed src="letitbe.mid" autostart=false hidden=true name="sound1" mastersound>');
} else {
  document.write('<bgsound id="sound1" loop="0">');
}
//-->
</script>
</head>

<body>
<form name="midiForm">
  Choisissez une musique : <select name="list">
    <option value="letitbe.mid">Let it be
    <option value="goldorak.mid">Goldorak
    <option value="starwars.mid">Starwars
    <option value="panther.mid">La panthère rose
  </select>
  <input type=button value="Jouer" onClick="PlaySound(midiForm.list.options[midiForm.list.selectedIndex].value)">
  <input type=button value="Stop" onClick="StopSound()">
</form>
</body>
</html>

 

Rafraîchir automatiquement une pageRetour à la page JavaScriptSupprimer le click droit