Flash Samples: Mini MP3 Music Player in AS3
Here is a little Flash Sample in AS3 ( actionscript 3 ) I made that is a mp3 player. It looks for a file variable called ‘myURL’ and loads that into the player.
Sample:
http://www.smithmediafusion.com/sotwPlayer.swf?myURL=TheStrokes1251.MP3
Files:
mini MP3 Player.fla
The code uses a flashvar which is the filename / URI of the mp3 file. It also utilizes other Flash Classes including the progressBar, Sound and SoundChannel Classes.
Code:
var myURL = root.loaderInfo.parameters.myURL;
playBtn.visible = true;
pauseBtn.visible = false;
pb.setSize(80.9, 14);
import fl.controls.Label;
import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
myLoadingTxt.text = “Press to play”;
myProgressBar.visible = false;
var sp:Sound;
var songControls:SoundChannel;
var positionPrev:Number;
var mypaused:Boolean;
var t:Timer = new Timer(1000);
t.addEventListener(TimerEvent.TIMER, timerHandler);
function onPlayBtnPress(event:MouseEvent):void {
pb.setSize(80.9, 7);
playBtn.visible = false;
pauseBtn.visible = true;
if(mypaused == true){
trace(“is paused true: “+myProgressBar.value*1000);
songControls=sp.play((myProgressBar.value*1000));
t.start();
mypaused = false;
}else{
myProgressBar.setProgress(0, myProgressBar.maximum);
sp = new Sound();
var req:URLRequest = new URLRequest(myURL);
sp.load(req);
var dataPath:String = myURL;
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest(dataPath));
songControls=sp.play();
songControls.addEventListener(Event.SOUND_COMPLETE,soundCompleteHandler);
trace(“songControls.position: “+songControls.position);
sp.addEventListener(Event.COMPLETE,updateTotalTime);
myProgressBar.visible = true;
myProgressBar.indeterminate = false;
myProgressBar.mode = ProgressBarMode.MANUAL;
addChild(myProgressBar);
var myLabel:Label = new Label();
myLabel.text = “”;
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height);
addChild(myLabel);
pb.source = loader;
addChild(pb);
myLoadingTxt.text = “Playing…”;
t.start();
}
}
function onPauseBtnPress(event:MouseEvent):void {
pb.setSize(80.9, 14);
playBtn.visible = true;
pauseBtn.visible = false;
trace(“pause”);
positionPrev=songControls.position;
songControls.stop();
mypaused=true;
t.stop();
}
function soundCompleteHandler(event:Event):void {
playBtn.visible = true;
pauseBtn.visible = false;
myProgressBar.visible = false;
mypaused = false;
trace(“done”);
myLoadingTxt.text = “Press to play”;
t.stop();
}
playBtn.addEventListener(MouseEvent.CLICK, onPlayBtnPress);
pauseBtn.addEventListener(MouseEvent.CLICK, onPauseBtnPress);
function updateTotalTime(e:Event):void {
myProgressBar.maximum = sp.length/1000;
trace(“sp.length: “+myProgressBar.maximum);
var minutes=Math.floor((sp.length/1000)/60);
var seconds=Math.floor((sp.length/1000)%60);
//myLoadingTxt.text=((minutes<10)?(“0″+minutes):minutes)+”:”+((seconds<10)?(“0″+seconds):seconds);
}
function timerHandler(event:TimerEvent):void {
myProgressBar.setProgress(myProgressBar.value + 1, myProgressBar.maximum);
}
function stopTimer(event:TimerEvent):void {
trace(“stopped”);
}
Posted in: Flash Helps | Comments Off