29/11/2011

Jouer un son ou une musique

Pour charger un son, il suffit de créer 2 variables et une fonction pour jouer et stopper le son.
Pour que celui-ci soit en boucle on doit mettre saisir entre parenthèse le nombre de fois que l'on souhaite jouer le son (mySound.play(0,1000);)
<mx:Script>
   <![CDATA[
    private var mySound:Sound = new Sound();
    private var audio:SoundChannel = new SoundChannel();

    private function startMusique():void
    {
        mySound = new Sound(new URLRequest("sound/ambiance.mp3"));
        audio = mySound.play(0,1000);
    }        
   
    private function stopMusique():void
    {
        audio.stop();
        mySound = null;     
    }
    ]]>
</mx:Script>

Pour déclencher la musique on appelle les fonctions sur des boutons
<mx:Button label="jouer le son"  click="startMusique();"/>
<mx:Button label="Stopper le son" click="stopMusique();"/>

Si on souhaite démarrer automatiquement, appeler la fonction par creationComplete
<mx:Application ...creationComplete="startMusique()">
 Pour déclencher la musique sans passer par des boutons, on peut utiliser une checkbox (nommée ici musique_cb). Reste à changer l'icône du composant pour avoir un truc sympa.
private  function musique():void
           {
                if(musique_cb.selected == true) {
                  startMusique();
                }
                else {
                    stopMusique();
                }
           }      
Sur le même principe, on peut passer par un toggleButton (nommée ici play_btn).
private  function musique(evt:Event):void
           {
                if(play_btn.selected == true) {
                  startMusique();
                }
                else {
                    stopMusique();
                }
           }      
et mon toggleButton
<s:ToggleButton id="play_btn" change="musique(event);"/>

Aucun commentaire:

Enregistrer un commentaire