Fade in - fade out sur objet sound

Soyez le premier à donner votre avis sur cette source.

Vue 16 947 fois - Téléchargée 1 904 fois

Description

Ce code permet de jouer un son d'ambiance (mp3) en boucle et appliquer à un boutton, il gére automatique le Fade In et le Fade Out.
Le code est à placer sur un calque dans le root de votre animation.
Il suffit de placer sur le boutton l'action suivante :

on(release) {
_level0.PlaySon();
}

Pour lancer le son d'ambiance em même temps que votre animation, placer sur la timeline à l'image où doit se jouer le son le code suivant : _level0.PlaySon();

Source / Exemple :


function PlaySon() {
	/*
	DECLARATION DES VARAIBLES - PLACEZ LES VALEURS QUE VOUS VOULEZ

  • /
var SonVolMin = 0; // Volume minimum (min : 0) var sonVolMax = 100; // Volume maximum ( max : 100) var sonVolFad = 5; // Valeur d'incrémentartion ou de décrémentation du Fade (prendre un multiple de 10 : 1, 2, 5 ou 10) var FadeInterval = 200; // Temps en millisecondes de répétition de la fonction FadeSon() var SonUrl = "boucle 5.mp3"; // Url du son MP3 à jouer en boucle /* Cette fonction gère le Fade In et le Fade Out
  • /
function FadeSon(vol) { /* Cette condition permet de ne pas se retrouver avec un volume inférieur à 0 ou suppérieur à 100
  • /
if (monson.getVolume() <> SonVolMin || monson.getVolume() <> sonVolMax) monson.setVolume(monson.getVolume() + vol) ; /* Dès que le volume répond à l'une des 2 conditions on supprime la boucle sur cette fonction.
  • /
if (monson.getVolume() == SonVolMin || monson.getVolume() == sonVolMax) clearInterval(intervalID); } /* Si l'objet Sound n'existe pas, on le crée. Ceci évite de recréer un nouvel objet Sound à chaque click de souris.
  • /
if (monson == undefined) { monson = new Sound(); /* On Charge le son MP3 depuis l'URL passé en varaible SonUrl.
  • /
monson.loadSound(SonUrl, true); monson.setVolume(SonVolMin) ; /* Comme le volume à été initialisé à sa valeur minimum (ici : 0) sur la ligne précédent, on lance un Fade In sur le son.
  • /
intervalID = setInterval(FadeSon, FadeInterval, sonVolFad); /* Une fois que la duration de son est complète on relance la lecture du son. On crée ainsi une boucle sur le son.
  • /
monson.onSoundComplete = function() { this.start(); } } /* Si le volume est au maximum, alors on fait un Fade Out sur celui-ci.
  • /
else if (monson.getVolume() == sonVolMax) { intervalID = setInterval(FadeSon, FadeInterval, -sonVolFad); } /* Si le volume est au minimum, alors on fait un Fade In sur celui ci
  • /
else if (monson.getVolume() == SonVolMin) { intervalID = setInterval(FadeSon, FadeInterval, sonVolFad); } }

Conclusion :


Ce code assez simpliste, mais efficace est une bonne base de travail. A vous d'y apporter vos modifications ...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
vendredi 2 juin 2006
Statut
Membre
Dernière intervention
13 octobre 2010

Salut,

Je sais pas si tu as vu, mais lorsqu'on double-clique sur le haut parleur, le volume ne s'arrête plus de monter et y a pas moyen de l'arrêter !!

Alors, y a sûrement un bug dans le code...A l'heure actuelle j'ai pas de solution, mais je regarderai ça d'un peu plus près...

Si quelqu'un trouve une solution...

@ +
Messages postés
8
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
16 décembre 2006

Jeecy2,

Change le LEVEL de ton script en fonction du niveau d'encapsulage de tes animations, je ne sais pas comment tu as structré ton FLA.

En fonction de l'action :
Si c'est un boutton :
on(Release) {
_levelx.PlaySon();
}

Si c'est un clip :
tonclip.onRelease = function() {
_levelx.PlaySon();
}

x (dans _level) est le niveau où se trouve ton clip.

Bon code
Messages postés
8
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
16 décembre 2006

BenLime,

Ce n'est pas un problème de streaming ou de ton hébergeur, mais de ma source ...
renome le fichier MP3 boucle5.mp3 et dans l'image 1 du FLA renome var SonUrl = "boucle5.mp3"
Ainsi le fichier fonctionnera correctement

De plus, j'ai vu une petite erreur dans mon script qui sera corrigée dès que j'aurai le temps ... taf oblige !!!!
Messages postés
2
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
26 novembre 2005

Super code! Maintenant moi j'aurais besoin de précision sur l'URL du son, parce qu'en local avec le mp3 dans le même répertoire que le swf c'est ok, mais en ligne ca ne fonctionne plus.

Peut-être que ca vient de free.fr et du streaming?

Pourrait-on faire la même chose avec un mp3 intégré au swf?

merci
Messages postés
1
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
6 septembre 2005

Salut!

J'aimerais savoir si qqun pourrais m'indiquer par ou commencer! si j'ai 2 anim ds une page. Une est principal et l'autre secondaire, si l'utilisateur clic et seulement s'il clique sur la secondaire, alors le son de la principal, descend en FADEOUT. Après l'anim de la secondaire remet le son de la principal en FADEIN...Je sais LOCALCONNECT mais comment gérer ça maintenant...J'Arrive à les faire communiquer ensemble par un mc mais concernant le son....quedal...svp..besoin d'aide...

Jeecy
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (pilou92)