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 |