//Scripting Sound
//Loading an external mp3 var mySound:Sound = new Sound(); mySound.load(new URLRequest("fire.mp3")); mySound.play();
////The above can be shortened to 2 lines of code like this: var mySound2:Sound = new Sound(new URLRequest("whoosh.mp3")); mySound2.play();
//Loading an internal sound var iSound:Sound = new Clang(); iSound.play();
////Loading the full sound file or buffering a sound before playing var myMusic:Sound = new Sound(); myMusic.load(new URLRequest("track1.mp3")); myMusic.addEventListener(Event.COMPLETE, onLoaded); function onLoaded(e:Event) { myMusic.play(); }
//Buffer a sound using the SoundLoaderContext class //Pass miliseconds to SoundLoaderContext parameters, so 100000 is 10 seconds of sound to load before playing var myContext:SoundLoaderContext = new SoundLoaderContext(10000); var myMusic2:Sound = new Sound(); myMusic2.load(new URLRequest("track1.mp3"), myContext); myMusic2.play();
//Controlling Sound var myMusic:Sound = new Sound(); var myChannel:SoundChannel = new SoundChannel(); var myTrans:SoundTransform = new SoundTransform(); myMusic.load(new URLRequest("track1.mp3")); myChannel = myMusic.play(); //the play method can take two parameters -- the offset (in miliseconds) and # of times to loop... so myMusic.play(1000, 3) would offset by 1 second and loop 3 times
var pausePos:Number = 0; //keep track of position var musicPlaying:Boolean = true; //keep track of if playing or not stop_btn.addEventListener(MouseEvent.CLICK, onClick); play_btn.addEventListener(MouseEvent.CLICK, onClick); pause_btn.addEventListener(MouseEvent.CLICK, onClick); volDown_btn.addEventListener(MouseEvent.CLICK, onClick); volUp_btn.addEventListener(MouseEvent.CLICK, onClick); panRight_btn.addEventListener(MouseEvent.CLICK, onClick); panLeft_btn.addEventListener(MouseEvent.CLICK, onClick); function onClick(e:MouseEvent) { switch (e.target) { case stop_btn: //stop sound myChannel.stop(); pausePos = 0; musicPlaying = false; break; case play_btn: //play sound only if not already playing if (!musicPlaying) { myChannel = myMusic.play(pausePos); musicPlaying = true; } break; case pause_btn: //pause sound by tracking position pausePos = myChannel.position; myChannel.stop(); musicPlaying = false; break; case volDown_btn: //volume myTrans.volume -= .1; if (myTrans.volume < 0) { myTrans.volume = 0; } myChannel.soundTransform = myTrans; break; case volUp_btn: myTrans.volume += .1; myChannel.soundTransform = myTrans; break; case panRight_btn: //panning myTrans.pan = 1; myChannel.soundTransform = myTrans; break; case panLeft_btn: myTrans.pan = - 1; myChannel.soundTransform = myTrans; break;
} }