Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Lecture aléatoire de MP3 dans différents Dossiers

Compatible Director. Cliquer pour en savoir plus sur les compatibilités.Par Leedoriden, le 13 octobre 2005

Suite à un sujet sur le forum, je met à disposition ce petit tuto de gestion aléatoire de son.

Le script est présenté telquel, et pourra être modifié à votre guise selon vos besoins.

* Vous remarquerez dans le script ci-dessous, que la lecture d'un même son peut avoir lieu plusieurs fois.

Dans cette exemple, l'architecture se présente ainsi : Deux sons mp3 par dossier.

c:\mondir.dir
    |_ [sound1] <------ dossier
    |     |_ son1.mp3
    |     |_ son2.mp3
    |_ [sound2]
    |     |_ son1.mp3
    |     |_ son2.mp3
    |_ [sound3]
    |     |_ son1.mp3
    |     |_ son2.mp3
   

script de comportement

on mouseup
  -- on crée une iiste des tous les répertoires
  myListFolder = ["sound1","sound2","sound3"]
 
   -- on boucle sur deux fichiers
   repeat with i = 1 to 2
      myRandom = random(i)     -- gestion aléatoire des fichiers
 
      -- gestion aléatoire du nombre des dossiers se trouvant dans la liste
      myRandomFolder = random(myListFolder.count)       
 
      FolderSample = myListFolder[myRandomFolder]      -- variable contenant la liste mélangée des dossiers 
 
      -- import du son dans la distribution interne
      member(1).filename = string(FolderSample&"\son"&myRandom&".mp3")      
 
    end repeat
 
    sound(1).play(member(1)) -- lecture du son
  end if
end

A chaque clic rélâché sur le bouton, le fichier sonX.mp3 ( X = 1 ou 2 … ) sera importé à la 1ere place ( member(1) ) dans la distribution interne.
La boucle ( repeat ) et le random ( gestion aléatoire ) s'occupent de sélectionner un son et un dossier différents.
Il ne vous reste plus qu'à lire le son par sound(1).play(member(1))

Remarque :
Il est inutile d'importer manuellement un fichier son dans la distribution.
C'est member(1).filename = string(FolderSample&“\son”&myRandom&”.mp3”) qui fera le travail pour vous.

tuto by Leedoriden