//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;
}
}