Décaler la lecture d'un son sur Rollover

yilden Messages postés 1 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 31 mars 2009 - 31 mars 2009 à 23:19
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 1 avril 2009 à 08:15
Bonjour à tous,
Je cherche à décaler la lecture du son de 1 ou 2 secondes au passage de la souris sur un bouton, voici l'actionscript inseré sur un bouton transparent :

on (rollOver) {

    //Play Internal Sound Behavior    if(_global.Behaviors null)_global.Behaviors {};    if(_global.Behaviors.Sound null)_global.Behaviors.Sound {};
    if(typeof this.createEmptyMovieClip == 'undefined'){
        this._parent.createEmptyMovieClip('BS_mp3',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        _global.Behaviors.Sound.mp3 = new Sound(this._parent.BS_mp3);
    } else {
        this.createEmptyMovieClip('_mp3_',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        _global.Behaviors.Sound.mp3 = new Sound(this.BS_mp3);
    }
    _global.Behaviors.Sound.mp3.attachSound("son.mp3");
    if (true) {
        _global.Behaviors.Sound.mp3.start(0,1);
    }
    //End Behavior

}
on (rollOut) {

    //stopAllSounds Behavior
    stopAllSounds();

}

J'ai pu voir sur les forums qu'il existait une fonction SetInterval, mais aucune idée de la façon dont je dois la paramétrer ni même à quel endroit l'intégrer. Et oui je suis un gros NewBie...

1 réponse

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
1 avril 2009 à 08:15
Bonjour,

c'est pas aussi simple que ca a mon avis...
1° tu as Sound.position (_global.Behaviors.Sound.mp3.position dans ton cas) qui te renvoi la position de la lecture de ton son (en millisecondes)
2° tu peux lancer un son avec un décallage (en secondes) _global.Behaviors.Sound.mp3.start(decalage,1);

Donc, en cliquant sur un bouton (occurence nommée btn) tu dois

btn.onPress=function(){
   // recuperer la position
   var decalage=_global.Behaviors.Sound.mp3.position
   // le convertir en secondes
   decalage=Math.ceil(decalage/1000)
   // ajouter le décalage que tu veux (en secondes)
   decalage=decalage+2
   // stopper ton son actuellement jouer
   _global.Behaviors.Sound.mp3.stop()
   // relancer le même son avec ton décallage
   // stopper premièrement le son sinon tu risque d'avoir 2 son joué en même temps mais décallés
   _global.Behaviors.Sound.mp3.start(decalage,1);
}

@+
0
Rejoignez-nous