Gestion
des mp3
chanson = new Sound();
chanson.onLoad = function(ok)
{
if (ok = true)
{
chanson.start();
_root.ecranTitre = "Lecture de "+liste.getSelectedItem().data;
}
else
{
_root.ecranTitre = "Problème au chargement.";
deselection();
}
};
chanson.onSoundComplete = function()
{
_root.ecranTitre = "Chanson terminée.";
deselection();
};
Nous abordons ici l'objet Sound()
de Flash, qui regorge de méthodes et propriétés
utiles. Nous n'en verrons ici qu'une petite partie...
Vous pouvez noter que le code pour charger un MP3 n'est pas bien différent
de celui pour un fichier XML : les méthodes sont cohérentes.
Une fois l'évènement .onLoad
lancé (donc le MP3 chargé), on lance le son avec .start,
et on affiche des informations dans notre champ ecranTitre.
Pour bien faire, nous exploitons aussi l'évènement .onSoundcomplete,
qui se lance lorsque le MP3 a terminé d'être joué.
Dans la fonction définie, nous affichons l'information, et
désélectionnons le titre dans la liste via la fonction
deselection(), présentée
ci-après..
Gestion de la liste
liste.setSelectMultiple(false);
liste.setChangeHandler("userClic");
function userClic()
{
fichierEnCours
= liste.getSelectedItem().data;
chanson.loadSound(fichierEnCours,
true);
}
function deselection()
{
liste.setSelectedIndices(null);
}
"liste" est un composant ListBox, nous
avons donc accès à toutes ces méthodes.
.setSelectMultiple(false)
nous permet d'indiquer que l'utilisateur ne peut faire qu'une
sélection à la fois, tandis qu'avec setChangeHandler(),
nous définissons la fonction qui sera lancée
lorsqu'il clic sur une entrée.
Cette fonction fait deux choses :
- copier le contenu "donnée" (le nom du fichier
mp3) de l'entrée cliquée dans la variable fichierEnCours.
- lancer le chargement du fichier en question avec .loadSound,
en précisant (avec true)
qu'il est en "flux continu" : Flash commencera à
le jouer avant même d'avoir terminé le chargement...
Notre petite fonction
deselection(), quant a elle, ne
fait que désélectionner les éléments
de la ListBox, en mettant à null
(rien) les "selected indices" (index sélectionnés).
Gestion du bouton
boutonStop.setClickHandler("arreterTout");
function arreterTout()
{
stopAllSounds();
_root.ecranTitre
= "Musique stoppée.";
deselection();
}
Pour lancer une fonction lors d'un
clic sur notre PushButton, il faut passer par la méthode
.setClickHandler. Ce clic aura ici
trois conséquences :
- lancer la méthodes globales stopAllSounds(),
qui coupe l'ensemble des sons en cours.
- afficher un message d'information dans le champ texte.
- désélectionner les éléments de la
liste avec notre fonction deselection().
C'est bien entendu un exemple très
basique de lecteur MP3. Nous vous invitons à tenter de l'améliorer...
en attendant que nous écrivions une version plus complète
pour un prochain article. Voici
nos codes sources (sans les mp3, évidemment).
Page 1 | 2
|