Son orama [ wav , mp3 ... ]

Contenu du snippet

On joue
° soit tous les fichiers du répertoire choisi.
° soit tous les fichiers contenus dans le fichier choisi,
en les prenant dans l'ordre ou de manière aléatoire.
° soit un fichier de musique ( .wav,.mp3 .. ).

Source / Exemple :


<HTML>
<HEAD>
<TITLE>Ecouter de la Musique</TITLE>

<! ========== choix d'un fichier ========== >
<OBJECT NAME="CD1" ID="CD1" VIEWASTEXT
        CLASSID="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB">
  <PARAM NAME="DialogTitle"
         VALUE="° Choix Fichier ( liste des Morceaux ) ° Décembre 2003 © marcel.Bultez@Tiscali.fr °">
  <PARAM NAME="FileName" VALUE="">
  <PARAM NAME="Filter">
  <PARAM NAME="FilterIndex" VALUE=1>
  <PARAM NAME="InitDir" VALUE="C:\Mes Documents">
  <PARAM NAME="Flags" VALUE=2630148>
</OBJECT>

<! ========== choix d'un répertoire ========== >
<OBJECT ID="CD2" name="CD2" VIEWASTEXT
        CLASSID='clsid:13709620-C279-11CE-A49E-444553540000'>
  <PARAM NAME="Title">
</OBJECT>

<! ========== pour jouer un fichier son ========== >
<OBJECT name="ObjSonWav" id="ObjSonWav" VIEWASTEXT
		classid="clsid:0B01FEE3-6DB6-11D0-9586-0000E8C0DC7F">
	<PARAM NAME="FileName">
	<PARAM NAME="Length">
	<PARAM NAME="Max">
	<PARAM NAME="Min">
	<PARAM NAME="Position">
	<PARAM NAME="Value">
</OBJECT>

</HEAD>
<BODY bgcolor="#408080" text="#400040">
<pre><b><table border=5>
<tr><th>Morceaux&nbsp;de<br>Musique&nbsp;dans</th>
    <th>° Son orama ° Décembre 2003 © marcel.Bultez@Tiscali.fr °<th></tr>
<tr><td><input onclick="chxrep();"
               type=radio
               name=chxf><b>Répertoire</td>
    <td><input type=text disabled
               style="font-weight:bold;font-size:12px;border:0;
                      height:20px;width=600px;background=#C0C0C0;"
               name=rep></td></tr>
<tr><td><input onclick="chxfic();" 
               type=radio 
               name=chxf><b>Liste</td>
    <td><input type=text disabled
               style="font-weight:bold;font-size:12px;border:0;
                      height:20px;width=600px;background=#C0C0C0;"
               name=fic></td></tr>
<tr><td><input type=radio checked name=chxt><b>&nbsp;Lecture&nbsp;dans&nbsp;l'ordre<br>
        <input type=radio name=chxt>&nbsp;Choix&nbsp;Aléatoire</td>
    <th><input name=exc type=button value="Valider" onclick="lancer();">
        <input name=exc type=button value="Quitter" onclick="opener=self; self.close();";>
</th></tr>
<tr><td><input onclick="chxson();" 
               type=radio 
               name=chxf><b>Fichier son</td>
    <td><input type=text disabled
               style="font-weight:bold;font-size:12px;border:0;
                      height:20px;width=600px;background=#C0C0C0;"
               name=son></td></tr>
</table>
<select style="visibility:hidden;" id=tabfic name=tabfic></select><font color=#FFFFFF>
On joue ° soit tous les fichiers du répertoire choisi
        ° soit tous les fichiers contenus dans le fichier choisi
               il doit être en format texte, 1 fichier de musique
                  par ligne. exemple : C:\MES DOCUMENTS\SONS\ALRIGHT.WAV
                                       C:\MES DOCUMENTS\SONS\AMER29.WAV
                                       C:\MES DOCUMENTS\UTIL\PARACHUTER\EDIT_ALR.WAV ...
          en les prenant dans l'ordre ou de manière aléatoire.
        ° soit un fichier de musique ( .wav,.mp3 .. ) qui est joué immédiatement.

<script type="text/javascript">

				//
				// Initialisation 
				//
var fso = new ActiveXObject("Scripting.FileSystemObject");	// permet traitements fichiers, répertoires

					//
function chxrep()	// choix d'un répertoire 
					//
{var dossier=CD2.BrowseForFolder(0,"Choix Répertoire",0,"");	// recherche répertoire
 if (dossier)	// si trouvé
       {rep.value=dossier.Title;
        if(/\((\w:)\)/i.exec(rep.value))	// c: ? ( par exemple )
             rep.value=RegExp.$1;
        else rep.value=dossier.ParentFolder.ParseName(rep.value).Path;
        son.value="";
        fic.value="";	}
   else chxf[0].checked=false;  }

					//
function chxson()	// choix d'un son direct 	
					//
{ CD1.Filter="Sons|*.wav;*.MP3|Tous|*";
  CD1.ShowOpen();			
  if (CD1.Filename.length>0)
        { fic.value="";
          rep.value="";
          SonWav(CD1.Filename); }
   else { chxf[2].checked=false; }  }

					//
function chxfic()	// choix d'une liste 
					//
{ CD1.Filter="Tous|*";
  CD1.ShowOpen();				// recherche fichier		
  if (CD1.Filename.length>0)	// choisi ?
     { fic.value=CD1.Filename;
       son.value="";
       rep.value="";  } 
  else chxf[1].checked=false; }

					//
function lancer()	// lancement 
					//
{if (chxf[0].checked || chxf[1].checked)	// fichier ou répertoire choisi
 {var f,f1,f2,lu,ts;
  switch (chxf[0].checked) {
				//
    case false:	// fichier 
				//
      ts = fso.OpenTextFile(fic.value,1,false);	// ouvrir pour lire
      while (!ts.AtEndOfStream)					// tant que ce n'est pas la fin
            {lu=ts.ReadLine();					// lire jusqu'à CRLF
 	         f2=tabfic.length;					// le placer dans la table
             tabfic.length++;
             tabfic[f2].text=lu;  }
      ts.close();								// fermer fichier
      break;
				//
    case true:	// répertoire 
				//
      f = fso.GetFolder(rep.value);			// prise en compte répertoire
      f1 = new Enumerator(f.files);			// énumère les fichiers
      for (; !f1.atEnd(); f1.moveNext())		// que l'on traite du 1er au dernier
          { f2=tabfic.length;					// le placer dans la table
            tabfic.length++;
            tabfic[f2].text=f1.item();  }
      break;        }
  if (!chxt[0].checked)
     {var joue=new Array();
      for (f2=0;f2<tabfic.length;f2++) joue[f2]=false; }
  f2=0;
  while (f2<tabfic.length) 
   {if (chxt[0].checked) { f=f2;  }
                    else { f=Math.floor(Math.random()*tabfic.length);	// nombre aléatoire
                           while (joue[f]) { f=Math.floor(Math.random()*tabfic.length); }	// si déjà joué
                           joue[f]=true; }
    SonWav(tabfic[f].text); 	// jouer le fichier
    f2++;  }
  window.location.reload();   }  }	// pour réinitialiser les tables

							//
function SonWav(Fichier)	// jouer un son 
							//
{if (fso.FileExists(Fichier))	// fichier existe ?
 {ObjSonWav.FileName=Fichier;	
  ObjSonWav.Open(Fichier);		// ouvrir
  ObjSonWav.Min = 0;
  ObjSonWav.Max = ObjSonWav.Length;
  ObjSonWav.Value = 0;
  ObjSonWav.Play();				// jouer
  if (ObjSonWav.Length > 0)		// longueur > 0
    { while (ObjSonWav.Position < ObjSonWav.Length )	// tant que pas fini
        { ObjSonWav.Value = ObjSonWav.Position; }	}	// met à jour la position
  ObjSonWav.Close();									// fermer
  ObjSonWav.Value = ObjSonWav.Length;	}  }

</script>
</BODY></HTML>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.