Créer un lecteur MP3 basé sur XML Jazzy

ActionScript 3.0 permet aux développeurs et concepteurs Flash de créer toutes sortes de choses dans Flash avec une relative facilité. Ce didacticiel vous expliquera comment créer votre propre lecteur MP3 ActionScript 3.0 avec spectre sonore, illustrations d'album, changeur de couleurs et informations sur les chansons..




Étape 1

Commencez par créer un nouveau document ActionScript 3.0. Définissez la taille de la scène sur 600px x 600px et 30 FPS. J'ai choisi la couleur de fond # 333333.

Étape 2

Choisissez Fichier> Importer> Importer dans la bibliothèque… et importez une image (j'ai modifié une partie d'un iPod de free4illustrator.com pour cet exemple. Utilisez plutôt le format .png au format .jpg pour tirer parti de la transparence de votre objet.). Après avoir importé l’image, ouvrez votre bibliothèque (Ctrl + L) et faites glisser le fichier .png sur la scène..

Étape 3

Sélectionnez l'image et convertissez-la en un symbole de clip (F8). Nommez-le "Ipod" ou un autre nom si vous préférez. J'ai choisi le coin en haut à gauche comme point d'inscription.

Étape 4

Double-cliquez sur le symbole MovieClip "Ipod" pour entrer sa chronologie. Assurez-vous que vous êtes à l'intérieur du MovieClip et non "Scene 1".

Étape 5

Dans la barre de temps, insérez un nouveau calque au-dessus du calque "IpodBody" et nommez-le "calque de boutons". Nous allons mettre tous nos symboles de bouton dans cette couche.

Étape 6

Utilisez l'outil Rectangle, # 00ff00 comme couleur de remplissage et incolore comme couleur de trait. Nous n'avons pas besoin d'un trait ici. En fait, la couleur de remplissage peut être celle que vous voulez, elle ne sera pas affichée dans le résultat final. Dessinez une forme au-dessus de l'icône précédente, semblable à l'image ci-dessous:

Étape 7

Convertissez la forme que vous venez de dessiner en un symbole de bouton (F8) et nommez-la "prev" comme indiqué dans l'image ci-dessous:

Étape 8

Donnez au symbole du bouton "prev" un nom d'instance. Je l'ai nommé "prevBtn" et modifié le style de couleur en alpha avec 0%.

Étape 9

Les étapes suivantes nécessitent le même symbole de bouton que le symbole du bouton "prev". Copiez le symbole du bouton "prev" et collez-le sur l'icône "Suivant" de votre bitmap. Pour dupliquer ce symbole, allez dans la barre de propriétés et cliquez sur "Permuter". Une fenêtre Swap Symbol (Symbole d'échange) apparaît. Vous devez alors cliquer sur le bouton "Dupliquer le symbole" (assurez-vous de choisir le symbole du bouton "prev".). Nommez-le "next".

Étape 10

Nous avons maintenant un nouveau symbole semblable au symbole du bouton "prev", mais nommé "next". Attribuez à ce symbole le nom d’instance "nextBtn". Le style de couleur reste alpha 0%.

Étape 11

Répétez les étapes 9 à 10 en dupliquant le symbole "prev" pour faire apparaître les symboles des boutons "play", "pause" et "stop". Attribuer des noms d'instance de "playBtn", "pauseBtn" et "stopBtn" respectivement.

Étape 12

Insérez un nouveau calque au-dessus de "Couche de boutons" et nommez-le "Texte".

Étape 13

Dessinez une zone de texte similaire à l'image ci-dessous dans le calque "Texte". Définissez "Texte dynamique" comme type de texte, attribuez le nom de l'instance "titleTxt", la police Arial, Taille de la police définie sur 12px et Gras, couleur blanche (#ffffff) et alignée au centre..

Étape 14

Créez une autre zone de texte juste en dessous de la zone de texte "titleTxt". Définissez cette nouvelle zone de texte en tant que texte dynamique, attribuez-lui un nom d'instance "artistTxt", avec la police Arial, la taille de la police définie sur 10px, la couleur blanche (#ffffff) et, à nouveau, alignée au centre.

Étape 15

Insérez un nouveau calque au-dessus du calque "Texte" et nommez-le "Changeur de couleurs"..

Étape 16

Utilisez l'outil Rectangle et définissez # ff0000 comme couleur de remplissage. Dessinez un petit carré de 14 pixels x 14 pixels dans le coin supérieur droit de l'écran de l'ipod et convertissez-le en un symbole de bouton (F8) portant le nom "rouge". Donnez-lui un nom d'instance de "redBtn".

Étape 17

Répétez l'étape 16 et faites deux autres carrés. Remplissez un carré avec # ffff00, nommez-le "jaune" et attribuez un nom d'instance à "yellowBtn". Remplissez l'autre carré avec # 66ccff, nommez-le "bleu" avec un nom d'instance de "blueBtn". Vous pouvez définir cette couleur sur n'importe quelle couleur, cela permettra à l'utilisateur de changer la couleur du spectre sonore.

Étape 18

Insérez un nouveau calque au-dessus du calque "Color Changer" et nommez-le "Calque ActionScript"..

Étape 19 - Commencez le script

À partir de ce moment, nous allons jouer avec ActionScript 3.0. Sur la première image clé de "Couche Actionscript", appuyez sur F9. Une fenêtre d'action apparaîtra. Nous allons entrer notre script dans cette fenêtre plus tard.

Étape 20 - Définition des variables

Tout d’abord, nous devons dire à Flash ce que contient le lecteur ipod et ses propriétés. Nous avons besoin de plusieurs variables. Lorsque le Flash est complètement chargé, nous avons besoin de lui pour commencer à fonctionner. La fonction "Loaded" démarrera immédiatement. Le chargeur chargera un fichier XML, dont le chemin est indiqué dans "URLRequest" du "chargeur". Nous créerons le fichier "musiclist.xml" pour ce lecteur iPod ultérieurement.

 var musicReq: URLRequest; var thumbReq: URLRequest; var music: Sound = new Sound (); var sndC: SoundChannel; var currentSnd: Sound = musique; position var: nombre; var currentIndex: Number = 0; var songPaused: Boolean; var songStopped: Boolean; var lineClr: uint; var changeClr: Boolean; var xml: XML; var songList: XMLList; var loader: URLLoader = new URLLoader (); loader.addEventListener (Event.COMPLETE, Loaded); loader.load (new URLRequest ("musiclist.xml"));

Étape 21 - Titulaire d'art d'album

Plus tard, nous créerons une pochette d'album qui sera affichée sur l'écran du lecteur iPod. Le script suivant indique les coordonnées de la pochette de l’album, qui sera conservée dans un symbole de clip.

 var thumbHd: MovieClip = new MovieClip (); thumbHd.x = 50; thumbHd.y = 70; addChild (thumbHd);

Étape 22 - Définir la fonction "chargée"

Définissons maintenant la fonction "Loaded". Nous voulons que le fichier passe au XML et récupère l'URL du morceau à lire dans le lecteur. Lorsque la chanson est chargée, la lecture s’effectue immédiatement et la pochette de l’album de la chanson est chargée simultanément. Lorsque la chanson a fini de jouer, la lecture de la chanson suivante commence.

 function Loaded (e: Event): void xml = new XML (e.target.data); songList = xml.song; musicReq = new URLRequest (songList [0] .url); thumbReq = new URLRequest (songList [0] .thumb); music.load (musicReq); sndC = music.play (); titleTxt.text = songList [0] .title; artistTxt.text = songList [0] .artist; loadThumb (); sndC.addEventListener (Event.SOUND_COMPLETE, nextSong); 

Étape 23 - Définir la fonction "loadThumb"

Nous allons maintenant définir la fonction "loadThumb". Lorsque le pouce est chargé, il indiquera à Flash de démarrer la fonction "thumbLoaded". Cette fonction ajoutera un clip contenant la pochette de l'album.

 function loadThumb (): void var thumbLoader: Loader = new Loader (); thumbReq = new URLRequest (songList [currentIndex] .thumb); thumbLoader.load (thumbReq); thumbLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, thumbLoaded);  function thumbLoaded (e: Event): void var thumb: Bitmap = (Bitmap) (e.target.content); titulaire de la variable: MovieClip = thumbHd; titulaire.addChild (pouce); 

Étape 24 - Indiquez "EventListener" des boutons

Ici, j'ai indiqué que les boutons que nous avons créés ont leurs fonctions respectives. Pour permettre aux utilisateurs de cliquer sur le bouton et d'exécuter la fonction, nous utilisons "MouseEvent.CLICK". Toutes les fonctions des boutons respectifs seront mentionnées dans les prochaines étapes..

 prevBtn.addEventListener (MouseEvent.CLICK, prevSong); nextBtn.addEventListener (MouseEvent.CLICK, nextSong); playBtn.addEventListener (MouseEvent.CLICK, playSong); pauseBtn.addEventListener (MouseEvent.CLICK, pauseSong); stopBtn.addEventListener (MouseEvent.CLICK, stopSong);

Étape 25 - Définir la fonction "prevSong"

Fonction "prevBtn" (bouton Précédent), définissez "prevSong":

 function prevSong (e: Event): void if (currentIndex> 0) currentIndex--;  else currentIndex = songList.length () - 1;  var prevReq: URLRequest = new URLRequest (songList [currentIndex] .url); var prevPlay: Sound = new Sound (prevReq); sndC.stop (); titleTxt.text = songList [currentIndex] .title; artistTxt.text = songList [currentIndex] .artist; sndC = prevPlay.play (); currentSnd = prevPlay; songPaused = false; loadThumb (); sndC.addEventListener (Event.SOUND_COMPLETE, nextSong); 

Étape 26 - Définir la fonction "nextSong"

Fonction "nextBtn" (bouton Suivant), définissez "nextSong":

 function nextSong (e: Event): void if (currentIndex < (songList.length() - 1)) currentIndex++;  else  currentIndex = 0;  var nextReq:URLRequest = new URLRequest(songList[currentIndex].url); var nextPlay:Sound = new Sound(nextReq); sndC.stop(); titleTxt.text = songList[currentIndex].title; artistTxt.text = songList[currentIndex].artist; sndC = nextPlay.play(); currentSnd = nextPlay; songPaused = false; loadThumb(); sndC.addEventListener(Event.SOUND_COMPLETE, nextSong); 

Étape 27 - Définir la fonction "playSong"

Fonction "playBtn" (bouton Play), définissez "playSong":

 function playSong (e: Event): void if (songPaused) sndC = currentSnd.play (position); songPaused = false;  else if (songStopped) sndC = currentSnd.play (position); songStopped = false;  else if (! sndC) sndC = currentSnd.play (position); 

Étape 28 - Définir la fonction "pauseSong"

Fonction "pauseBtn" (bouton Pause), définissez "pauseSong":

 function pauseSong (e: Event): void if (sndC) position = sndC.position; sndC.stop (); songPaused = true; 

Étape 29 - Définir la fonction "stopSong"

Fonction "stopBtn" (bouton Stop), définissez "stopSong":

 function stopSong (e: Event): void sndC.stop (); position = 0; songStopped = true; 

Nous avons maintenant construit les contrôles du joueur.

Étape 30 - Indiquer "EventListener" des boutons colorés

Les boutons créés aux étapes 15 à 17 ne sont pas inutiles. Nous devons maintenant dire à Flash quel est leur rôle dans le lecteur:

 redBtn.addEventListener (MouseEvent.CLICK, changeRed); yellowBtn.addEventListener (MouseEvent.CLICK, changeYellow); blueBtn.addEventListener (MouseEvent.CLICK, changeBlue);

Étape 31 - Définir les fonctions des boutons de couleurS

Chaque bouton de couleur a sa fonction respective. "changeRed" définira la ligne du spectre sur "0xFF0000" (rouge). "changeYellow" le mettra sur "0xFFFF00" (jaune) et "changeBlue" définira "0x66CCFF" (cyan). Nous voulons également que Flash sache que lorsque nous cliquons sur la couleur rouge, elle héritera d'une opacité de 100%, tandis que les autres obtiendront une opacité de 50%.

Remarque: dans ActionScript 3.0, 100% = 1, 10% = 0.1, etc..

Tous les boutons de couleur auront cette fonction, nous devons donc indiquer l'opacité du bouton dans chaque fonction.

 fonction changeRed (e: Event): void lineClr = 0xFF0000; changeClr = true; redBtn.alpha = 1; yellowBtn.alpha = 0,5; blueBtn.alpha = 0,5;  fonction changeYellow (e: Event): void lineClr = 0xFFFF00; changeClr = true; redBtn.alpha = 0,5; yellowBtn.alpha = 1; blueBtn.alpha = 0,5;  function changeBlue (e: Event): void lineClr = 0x66CCFF; changeClr = true; redBtn.alpha = 0,5; yellowBtn.alpha = 0,5; blueBtn.alpha = 1; 

Étape 32 - Définir la couleur par défaut du spectre

Définissons maintenant la couleur par défaut de la ligne. Je choisis le rouge par défaut, vous pouvez utiliser la couleur de votre choix.

 if (! changeClr) lineClr = 0xFF0000; redBtn.alpha = 1; yellowBtn.alpha = 0,5; blueBtn.alpha = 0,5; 

Étape 33 - Dessinez le spectre

La dernière partie de notre Actionscript; nous voulons que Flash dessine le spectre de la chanson. "lineClr" dans "lineStyle" est une variable dans le bouton de couleur à l'étape 31. "pour (var i: uint = 30; i<280; i++)" stated the starting x coordinate of the line and the end coordinate of the line.

Dans "var num: Number = ba.readFloat () * 50 + 170;" le 50 permet à Flash de multiplier le Float dans la chanson et 170 est la coordonnée y du spectre.

 var ba: ByteArray = new ByteArray (); addEventListener (Event.ENTER_FRAME, drawl); fonction drawl (e: Event): void graphics.clear (); graphics.lineStyle (1, lineClr, 0,5); graphics.moveTo (30, 150); SoundMixer.computeSpectrum (ba); pour (var i: uint = 30; i<280; i++)  var num:Number = ba.readFloat()*50 + 170; graphics.lineTo(i, num);  

Étape 34 - Créer le XML

Le titre et l'artiste seront affichés plus tard dans notre lecteur. "" et ""sont les chemins de la pochette de l'album et de la chanson. XML peut être créé facilement (vous pouvez utiliser Notepad pour taper le code suivant et le sauvegarder en tant que fichier .XML). Vous devez l'enregistrer sous le nom" musiclist.xml ". y avons fait référence dans l’ActionScript du lecteur.

   La masse Ère pics / era.jpg chansons / themass.mp3   Dr.No thème  -  photos / drno.jpg chansons / drno.mp3  

Étape 35 - Créer une pochette d'album

Créez une pochette d'album pour les chansons. La taille recommandée est 65px x 65px; il ira bien à l'écran.

Conclusion

Testez votre film (Ctrl + Entrée) pour vérifier le résultat. Vous aurez votre propre lecteur flash iPod! Vous pouvez l'utiliser comme lecteur de musique pour votre site Web. éditez la liste de musique comme vous le souhaitez. C'est à vous. Allez-y et expérimentez, si vous avez des résultats intéressants, assurez-vous de les partager avec nous..

J'espère que vous avez aimé ce tutoriel, merci d'avoir lu!