le son dans flash - Technomultimedia
Transcription
le son dans flash - Technomultimedia
| bts cv || mma | le son dans flash, introduction Pour lire un son dans une animation Flash, il existe 2 possibilités avec de nombreuses options. - Lire un fichier mp3, externe à l’animation - Lire un son importé dans l’animation qui se trouve donc dans la bibliothèque Cette dernière possibilité est fortement déconseillée dans le cas d’un site web, mais pour lire des sons très courts, peu nombreux ou pour un DVD Rom, il est possible de les importer dans l’animation. Il faut alors identifier les sons dans la bibliothèque avant d’y faire référence en ActionScript, en leur attribuant des noms de «Liaison». La première méthodologie abordée traite de cette technique d’identification. TECHNIQUE D’IDENTIFICATion Quelque soit la méthode, il est indispensable d’"instancier" la classe Sound() avant de pouvoir lire le moindre son dans une animation. Choisir un nom représentatif et utiliser le constructeur new. mon_son = new Sound() À présent, indiquer quel est le son à jouer. Deux méthodes, tout dépend de l’origine du son. - attachSound() : permet de faire référence à un son de la bibliothèque - loadSound() : permet de faire référence à un fichier externe à l’animation. Importer un son et le nommer 1. Menu Fichier/Importer dans la bibliothèque 2. Sélectionner un son 3. Valider 4. Effectuer un clic-droit (PC) ou CTRL-Clic (Mac) sur le son qui vient d’arriver dans votre bibliothèque et sélectionner la commande "Liaison" 5. Cocher la case «Exporter pour ActionScript» afin de nommer le son 6. Valider Explications : Le terme précisé dans l’exemple ci-dessus, autorise à présent à continuer la rédaction du script. mon_son = new Sound(); mon_son.attachSound("son_1.mp3"); Contrôles élémentaires d’un son Cette partie va permettre d’apprendre à contrôler un son pour des fonctions basiques. Lire un son à partir d’un bouton 1. Placer un bouton sur la scène 2. Sélectionner le bouton sur la scène - F9 on (press) { mon_son.start(); } start(0,5) : permet de lire 5 fois le son du début | jcg || 2007/2008 | 1/4 | | bts cv || mma | Lire un son au lancement d’une animation Pour démarrer un son à l’ouverture de l’animation, placer directement mon_son.start() sur la première image-clé. Il est également possible d’utiliser la palette Comportements. 1. Sélectionner la première image-clé 2. Comportement / + / Son / Charger un son de la bibliothèque 3. l’ID correspond au nom du son dans la bibliothèque, le nom pour l’occurrence et celui de l’identifiant de liaison. 4. Pour jouer le son en boucle, F9 / modifier le script Arrêter un son 1. Placer un bouton sur la scène 2. Sélectionner le bouton sur la scène - F9 on (press) { mon_son.stop(); } Arrêter tous les sons 1. Placer un bouton sur la scène 2. Sélectionner le bouton sur la scène - F9 on (press) { stopAllSounds(); } Fonctionnalités Créer une fonction pause avancées Un même bouton doit successivement lire puis interrompre le son. Le clic sur ce bouton doit également changer son apparence («Pause» puis «Lecture»). A cet instant, il faut mémoriser la position de la tête de lecture avant d’arrêter le son pour pouvoir le relancer à la position mémorisée. 1. Placer un bouton sur la scène 2. Ajouter un texte dynamique intitulé etiquettepause | jcg || 2007/2008 | 2/4 | | bts cv || mma | 3. Sur la 1ère image de la timeline placer le code suivant en remplacement du code existant. posison = 1; mon_son = new Sound(); mon_son.attachSound("son_1.mp3", 0); surveil = new Object(); surveil.onMouseMove = function() { }; } code éventuellement existant 4. Sélectionner le bouton sur la scène - F9 on (press) { posison *= -1; if (posison == 1) { mon_son.start(memoposition/1000); etiquettepause = (etiquettepause == "Pause" ? "Reprise" : "Pause"); } else { mon_son.stop(); etiquettepause = (etiquettepause == "Pause" ? "Reprise" : "Pause"); memoposition = mon_son.position; } } Réaliser un variateur pour le contrôle du son [son05.fla] Il faut d’abord rendre une occurrence mobile grâce à l’utilisation de la commande startDrag() en la contraignant dans une zone. 1. Créer un Bouton nommé "curseur" et une barre de variateur [ici 200px] 2. Sélectionner le bouton sur la scène - F9 on (press) { startDrag(curseur, false, x-, y, x+, y); Mouse.addListener(surveil); } on (release) { stopDrag(); Mouse.removeListener(surveil); } x- = position la plus à gauche du curseur, valeur à renseigner y = position verticale elle ne change pas puisque le déplacement est horizontal, valeur à renseigner x+ = position la plus à droite du curseur, valeur à renseigner | jcg || 2007/2008 | 3/4 | | bts cv || mma | 3. Sur la 1ère image de la timeline placer le code suivant en remplacement du code existant. posison = 1; mon_son = new Sound(); mon_son.attachSound("son_1.mp3", 0); mon_son.setVolume(75); surveil = new Object(); surveil.onMouseMove = function() { mon_son.setVolume((curseur._x-80)/2); niveausonore = mon_son.getVolume(); }; mon_son.onSoundComplete = function() { mon_son.setPan(mon_son.getPan()+10); } 4. Pour afficher le niveau sonore sur la scène, ajouter un texte dynamique sur la scène nommer niveausonore. Mettre 75 et placer le curseur aux 2/3 de votre barre 5. Calculer la valeur à renseigner à la ligne mon_son.setVolume((curseur._x-80)/2); La soustraction est ici de -80 pixels car le début du variateur est situé à 80 pixels du bord gauche de la scène. Comme nous souhaitons obtenir 0 lorsque le curseur est à gauche du variateur, 80 pixels du bord gauche de la scène - 80, on obtient bien 0. La longueur du variateur est de 200 pixels, c’est pourquoi une division par 2 suit le premier calcul. | jcg || 2007/2008 | 4/4 |