Construire un lecteur MP3
Nous nous proposons aujourd'hui de construire un lecteur MP3 à partir d'un fichier XML. Ce fichier contient bien sûr la liste des fichiers mp3 qui pourront être lus.
Chargement de la sélection musicale
Le fichier XML

Structure du lecteur

Le lecteur est un clip contenant une occurrence du composant ComboBox nommée playList_cbx
et
initialisée à la donnée Sélectionner
,
Le clip contient également deux clips servant de boutons, quatre zones de texte
statiques et quatre zones de texte dynamiques ainsi que deux occurrences d'un
clip servant de curseur de réglage. Tous ces éléments sont judicieusement sur
différents calques en fonction de leurs types.
Le symbole clip du lecteur est nommé mc:player
tandis
que l'occurrence placée sur la scène est nommée player_mc.
Lecture de la liste
La liste est lue depuis la première image-clé de la scène principale et est chargée directement dans la liste déroulante du lecteur.

Il serait certainement plus raisonnable de lire la liste depuis la première image clé du scénario du clip. N'hésitez pas à essayer, il n'y a rien de tel pour apprendre.
Fonctionnement du lecteur MP3
Attention : tout le code de cette partie se trouve sur la première image-clé du scénario du clip.
Indiquer la fonction de rappel
La première chose à faire est d'indiquer quelle est la fonction de rappel à invoquer lorsque l'on change de sélection dans la liste déroulante. La technique n'est pas la même que d'habitude : comme Flash ne semble pas connaître d'événement onChange, il est impossible d'écrire
playList_cbx.onChange = function() { etc }
Heureusement, le composant ComboBox dispose de la méthode setChangeHandler qui demande le nom de la fonction de rappel. Notez qu'il faut indiquer celui-ci entre guillemets. Notez également qu'il est possible d'indiquer la fonction de rappel dans la fenêtre de propriétés du composant.
L'objet Sound
La seconde chose à faire est de créer un objet Sound
qui contiendra le mp3
en cours d'exécution. Cet object est nommé playingNow
.

Que fait la fonction de rappel ?
La fonction charger() commence par vérifier que l'utilisateur a bien fait une sélection, autrement dit, que l'index sélectionné de la boîte de liste est différent de 0 (ligne 5).

Si c'est le cas, l'objet playingNow uilise la méthode loadSound() pour charger un fichier mp3. Le nom du fichier mp3 est contenu dans la propriété label de l'objet renvoyé par getSelectedItem() du ComboBox. Le paramètre true indique que le fichier doit être chargé en streaming (ligne 6). Les lignes 7 et 8 affichent la durée totale et le nombre d'octets du fichier dans des zones de textes dynamiques dont les noms indiquent clairement le contenu. Finalement, les lignes 9-12 définissent une petite fonction de rappel anonyme pour l'événement onLoad de l'objet son.
Affichage dynamique et réglages
Il s'agit maintenant d'afficher le nombre d'octets lus et le temps écoulé. On voudrait également pouvoir régler le volume du son et la balance. Tout ceci doit se faire dans la fonction de rappel de l'événement enterFrame du clip.

Les boutons de réglage
Les boutons de réglage sont des occurrences du clip mc:réglage. Celui-ci est formé sur un calque d'un simple rectangle (120px X 20px) à coins arrondis servant de fond et sur un autre calque d'une occurrence de symbole mc:rainure.

Le clip mc:rainure est formé d'un simple trait continu de 100 pixels et sur un autre calque d'une occurrence du curseur.

Le curseur est un simple cercle de 8 pixels de diamètre.

Comment activer les boutons de réglage
L'occurrence du curseur sur la rainure contient du code.



