Flash CS4 - Son

De EduTech Wiki
Aller à la navigation Aller à la recherche

Introduction

Vous pouvez placer des fichiers son dans Flash en les important dans la bibliothèque utilisée pour le document actuel. Alternativement, on peut charger/utiliser du son avec ActionScript.

Les bases

Les types de sons

Flash peut supporter différents formats de sons :

  • WAV (Waveform Audio Format)
  • AIFF (Audio Interchange File Format) - Mac uniquement ?
  • MP3 (Moving Pictures Expert Group Level-Layer-3 Audio)
  • AAC (Advanced Audio Coding)
  • AVI (Audio Video Interleave)
  • AU (Sun)

(Certains formats peuvent dépendre si QuickTime est installé sur votre ordinateur).

Le meilleur (et conseillé) format à utiliser est le MP3, étant le type de fichier le plus populaire et possédant un très bon rapport qualité/poids. Le fichier est donc beaucoup moins lourd qu'un fichier Wav par exemple. Il est très facile de trouver des sons ou musiques sur le net dans ce format. L'utilisation du AAC peut aussi être une bonne alternative.

Flash CS3, CS4 et CS5 mettent à disposition quelques sons dans la bibliothèque. Dans le menu, cliquez sur Window -> Common Libraries -> TNT sounds (cs3 et cs4, sounds pour cs5)

Tableau comparatif des compressions de fichiers audio

Voici un tableau dressant les différentes caractéristiques de 4 formats audio acceptés par Flash CS4. Il vous permettra de choisir le fichier le plus adapté à vos projets. Le fichier de référence dure 4 minutes et 10 secondes (un peu plus long qu'une chanson standard format radio). Il est en stéréo au format CDA, 16 bits, 44.1kHz. Sa taille est de 42,2 Mo et est représenté dans la première ligne.

Format Fréquence d'échantillonnage (kHz) Quantification (bits) Débit (kbits/s) Taille compressée (Mo)
WAV (notre fichier de référence) 44,1 16 1141 42,2
AIFF 44,1 16 1141 42,2
MP3 44,1 16 128 3,89
MP3 44,1 16 320 9,62
AAC 44,1 16 128 3,69
AAC 44,1 16 320 8,94

Son avec le GUI

Importer dans CS3/CS4/CS5/CS6:

Il faut d'abord importer un son

  1. Choisissez File> Import> Import to library
  2. Dans la boîte de dialogue, sélectionnez et ouvrez le fichier audio de votre choix.

Dans CS6 pour Mac os, on peut:

  1. Suivre la procédure expliquée plus haut (Import to library)

ou

  1. Tirer le fichier depuis l'endroit où il se trouve dans la bibliothèque (library).

Utiliser du son dans une timeline:

  • Créer un nouveau calque
  • Cliquer dans un frame (celui où le son doit démarrer)
  • Dans le properties panel: sélectionner un son, ou copier le son de la bibliothèque et le coller dans l'image (frame) en question.

Ajustements à faire:

Éditez l’enveloppe du son (cliquer sur le crayon)

Éditez diverses propriétés dans le panneau de configuration et notamment les options de synchronisation, choisissez le petit menu sync:

  • Event: Synchronise le son et l'occurrence d'un événement. Un son d'événement est lu (par exemple par l'utilisateur cliquant sur un bouton) quand l'image-clé qui lui est associée s'affiche et sa lecture se poursuit intégralement et indépendamment du scénario, même si la lecture du fichier SWF s'interrompt. Les sons d'événement sont mélangés lorsque vous lancez la lecture de votre fichier SWF publié. Si un son d'événement est lu et que ce même son est à nouveau instancié (par exemple par l'utilisateur cliquant à nouveau sur le bouton), la première occurrence du son se poursuit et l'autre commence simultanément. La propriété envent est celle attribuée par défaut par le programme à tous les sons.
  • Start: Cette option est identique à l'option "Event", si ce n'est que, lorsque le son est en cours de lecture, aucune nouvelle occurrence du son n'est lue.
  • Stop: Entraîne l'interruption du son spécifié.
  • Stream: Synchronise le son en vue d'une lecture sur un site Web. Flash force l'animation à suivre le rythme des sons en flux continu. Si Flash ne peut afficher les images de l'animation suffisamment vite, il les ignore. Contrairement aux sons d'événement, les sons en flux continu s'arrêtent si la lecture du fichier SWF s'interrompt. De même, un son en flux continu ne peut jamais excéder la longueur des images auxquelles il correspond. Les sons en flux continu sont mixés à la publication du fichier SWF.

Ces propriétés sont très importantes pour définir le début et l'arrêt des sons. Les bugs étant fréquents (voir par exemple ici), les fonctions start et stop permettent d'en réduire l'occurrence. En particulier, il est recommandé d'utiliser une couche (layer) pour chaque son qu'on veut insérer. On place le son dans un key frame de cette couche, avec la propriété start: ceci veut dire que quand on arrive sur ce frame le son commence. Pour éviter que le son continue d'être produit même si on change de frame, on crée des autres key frames dans la même couche, et on y insère le même son mais avec la propriété stop; ceci l'empêche de se produire en dehors du frame qui lui est assigné.


Répétition:

  • Vous pouvez répéter le son autant de fois que vous le désirez (ou le mettre en boucle continuellement).

Effets:

  • Vous pouvez choisir parmi une variété de fondus et options, entrée, sortie, gauche ou droite. Vous pouvez aussi personnaliser vos propres fondus Flash sound tutorial

Lire le reste dans Utilisation des sons dans Flash et Using sounds in Flash

Lier un son à un bouton:

Vous pouvez lier un son à un bouton de la manière suivante:

  • Double-cliquez sur le bouton que vous désirez éditer.
  • Vous verrez les différents états dans la 'timeline' (Up/Over/Down/Hit).
  • Créez un 'layer' différent pour chaque son que vous voulez rattacher à un bouton ou insérez une nouvelle image '(new keyframe)' (F7) pour chaque état. Cela vous permettra, si vous le désirez, de mettre des sons différents à chacun des états.
  • Cliquez sur l'image à laquelle vous désirez attacher le son.
  • Sélectionnez ensuite le son désiré dans la librairie et faites un glissez-déposez de la librairie de son à la scène. Si la librairie n'est pas visible ouvrez-la en allant sur 'Window - Common Libraries - Sounds'.

Remarque: vous ne pouvez faire jouer deux sons simultanément sur le même bouton.

Voici la signification des 4 états de bouton:

  • Up: Lance le son lorsque vous quittez la zone bouton en déplaçant la souris
  • Over: Lance le son lorsque vous survolez le bouton
  • Down: Lance le son au moment où vous cliquez
  • Hit: Lance le son au moment où vous relâchez le clic

Lier un son à un bouton dans Flash CS5

Avec ActionScript

L'outil Flash possède une classe spécifique qui s'appelle sound. Elle permet de gérer des simples effets sonores. Pour ce qui concerne l'importation d'un son, il existe deux alternatives: (1) Soit importer le fichier son avec ActionScript et l'utiliser, (2) soit importer le son manuellement dans la bibliothèque, puis l'utiliser.

Importer un fichier son avec ActionScript

var request:URLRequest = new URLRequest("track.mp3");
var your_sound:Sound = new Sound();
your_sound.load(request);

Vous pouvez aussi bien utiliser des fichiers qui se trouvent déjà sur le net en spécifiant leur URL, si les droits d'auteur le permettent.

Utiliser un son de la librairie

Avant de faire des modifications dynamiques des sons dans l'application, il faut d'abord importer le son dans Flash. Donc dans la barre des outils selectionner Fichier > Importer > Importer dans la bibliothèque (File > Import > Import to Library).

Ensuite pour que ActionScript puisse utiliser le son, il faut l'exporter pour ActionScript dans la librairie:

  • Clic droit sur le son:
  • Clic sur Properties
  • Cocher "Export for ActionScript"
  • Définir un classname, par exemple pour un fichier appelé "bruit.mp3", choisissez "Noise_sound".
  • Ensuite, dans ActionScript, vous pouvez créer une occurrence, c.a.d. un son qui sera accessible pour la scène.
Exemple
var cool_noise_sound:Sound = new Noise_sound();
Autre exemple:
var bruit = new Stairways_to_hell();

Utiliser vos sons (pour les 2 cas)

Jouer un son, on reprend les trois exemples créés ci-dessus:

your_sound.play();
cool_noise_sound.play ();
bruit.play();

Implémenter cinq boucles (le son est joué cinq fois):

your_sound.play(0,5);

Pour arrêter tous les sons (utiliser "tel quel" la ligne ci-dessous!). Pour les informaticiens: il s'agit d'une méthode de classe.

SoundMixer.stopAll();

Sinon, pour arrêter un seul son:

your_sound.stop();

Effectuer une action, une fois terminé le son

Dans cet exemple, lors la reproduction du fichier audio "music" se termine, le programme passe au frame suivant:

var Music = new music();
var channel:SoundChannel = new SoundChannel();
channel = Music.play();
channel.addEventListener(Event.SOUND_COMPLETE, doSoundComplete);
function doSoundComplete($evt:Event):void
 {
  nextFrame()
 }

Exemples

Flash CS3:

Flash CS5:

Liens

Flash et son
Ressources
  • Sound Assets (anglais)
  • Simply the best (site avec sons pour effets spéciaux, textures, etc.)
  • SoundJax (site avec des milliers des sons à télécharger)
  • Zamzar (site de conversion de fichiers online. Il permette entre d'autres de télécharger l'audio à partir de vidéos youtube)