Journal du Net Développeur >  Flash >  Gérer le son dans Flash

Gérer le son dans Flash > 2. Lecture, pause, etc.

Précédente 3. Compression et enveloppe 
[1] : Les fonction s'appliquant aux boutons Jouer, Arreter, Pauser, Retour et Avancer.
  1. btnJouer.onRelease = function() {
  2.   _root.jouer();
  3.   };
  4. btnArreter.onRelease = function() {
  5.   _root.son.stop();
  6.   decalage = 0;
  7.   };
  8. btnPauser.onRelease = function() {
  9.   _root.son.stop();
  10.   decalage = son.position/1000;
  11.   };
  12. btnRetour.onRelease = function() {
  13.   decalage = (son.position/1000)-1;
  14.   if (decalage>=0) {
  15.     jouer();
  16.     }
  17.   };
  18. btnAvancer.onRelease = function() {
  19.   decalage = (son.position/1000)+1;
  20.   if (decalage<=son.duration) {
  21.     jouer();
  22.     }
  23.   };
Nota : la fonction jouer() est une fonction englobant le module de chargement présente précédemment, et vérifiant que le fichier n'est pas déjà chargé.

Actions : lecture, arrêt, pause, retour...
Charger le fichier n'est pas tout, il faut également l'exploiter de manière efficace. Comme nous l'avons vu dans la page précédente, les objets de type Sound disposent d'une méthode start() qui, invoquée sans argument, lance la lecture du son chargé, jusqu'à complétion. Ses deux arguments se montrent facilement utiles : le premier spécifie la seconde à laquelle lancer la lecture, le second indique le nombre de fois où le son doit boucler. Sound défini la méthode jumelle stop(). Créer des boutons Lecture et Pause est donc relativement aisé.

Créer un bouton Pause nécessite de faire appel à l'une des trois propriétés de Sound : position. Celle-ci nous renvoie le nombre de millisecondes écoulées depuis le début du MP3 (et non depuis la dernière reprise de lecture). En combinant cette propriété et le premier argument de start(), programmer une reprise de lecture est également accessible à tous.

Le bouton Retour n'est pas beaucoup plus compliqué. Lorsque le son est joué, un clic sur le bouton Retour nécessiterait simplement de récupérer la valeur courante de position, de lui soustraire par exemple une seconde (tout en s'assurant que l'on reste dans la durée du MP3), et appliquer cette nouvelle valeur à start().

Enfin, le bouton Avance Rapide n'est pas réalisable en tant que tel : on ne peut pas dans Flash accélérer la lecture d'un son. En revanche, on peut tout simplement appliquer le même code que pour le bouton Retour, mais ajoutant une seconde à la valeur courante de position.

Précédente Retour au sommaire page suivante 
Introduction | 1 | 2 | 3
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex