Streaming music

Hello.
I have a musicplayer on my website. I think I got it form kirupa.com
My question is how to make the music start playing at once(stream) instead of loading the whole file before it plays. Can anyone help me with this one?

Here is the code of the mp3 player:

stop();
mp3Player = function (songs, interF, reservedDepth) { if (songs != undefined && interF != undefined && reservedDepth != undefined && typeof songs == "object" && typeof interF == "object" && typeof reservedDepth == "number") {this.sound = new Object(new Sound(_root));this.songs = songs;this.player = interF;this.songs.index = 0;this.sound.stopped = false;this.sound.paused = false;this.player.songInfo.html = true;this.player.songInfo.condenseWhite = true;this.player.songInfo.autoSize = "left";this.safeDepth = reservedDepth-1;this.player.progressIndicator.offset = this.player.progressIndicator._x;this.loadHandler = _root.createEmptyMovieClip("LH", ++this.safeDepth);this.progressHandler = _root.createEmptyMovieClip("PH", ++this.safeDepth);this.volumeHandler = _root.createEmptyMovieClip("VH", this.safeDepth+3);this.volumeSlideHandler = _root.createEmptyMovieClip("VSH", ++this.safeDepth+4);this.indicateStatus(-1);this.setRollOver(1);this.setControls();this.showSongInfo();this.sound.loadSound(this.songs[this.songs.index].url, false);this.preload([{func:"startSong", param:[]}, {func:"indicateProgress", param:[]}, {func:"enableDrag", param:[]}, {func:"setInitialVolume", param:[100]}]);} else {trace("Invalid parameter(s) specified.");}};
mp3Player.prototype.stopProgressIndicator = function() {
	delete this.progressHandler.onEnterFrame;
};
mp3Player.prototype.resetProgressIndicator = function() {
	delete this.progressHandler.onEnterFrame;
	this.player.progressIndicator._x = this.player.progressIndicator.offset;
};
mp3Player.prototype.disableDrag = function() {
	delete this.player.progressIndicator.onPress;
	delete this.player.progressIndicator.onRelease;
	delete this.player.progressIndicator.onReleaseOutside;
};
mp3Player.prototype.indicateStatus = function(stat) {
	var tar;
	stat>0 ? tar=this.player.playButton : stat+1 ? tar=this.player.pauseButton : tar=this.player.stopButton;
	this.player.statusIndicator.easeX(tar._x);
};
mp3Player.prototype.showSongInfo = function() {
	var artist = this.songs[this.songs.index].artist;
	var title = this.songs[this.songs.index].title;
	var output = artist+" - "+title;
	this.player.songInfo.htmlText = output;
};
mp3Player.prototype.startSong = function(returnFuncArray) {
	this.setVolumeDrag(this.sound.volumeI);
	this.sound.stop();
	this.sound.start(0, 1);
	this.indicateStatus(1);
	this.indicateProgress();
	if (returnFuncArray[0] != undefined) {
		for (var i = 0; i<returnFuncArray.length; i++) {
			this[returnFuncArray*.func].apply(this, returnFuncArray*.param);
		}
	}
};
mp3Player.prototype.next = function() {
	this.songs.index++;
	if (this.songs.index>this.songs.length-1) {
		this.songs.index = 0;
	}
	this.showSongInfo();
	this.sound.stop();
	this.sound.loadSound(this.songs[this.songs.index].url, false);
	this.preload([{func:"startSong", param:[]}, {func:"indicateProgress", param:[]}, {func:"enableDrag", param:[]}]);
};
mp3Player.prototype.setInitialVolume = function(x) {
	var ref = this;
	var tgt = x/100*this.player.volumeHeight;
	var vitgt = this.player.volumeBar._y-tgt;
	this.sound.volumeI = x;
	this.player.volumeNR.text = 100;
	this.sound.setVolume(x);
	this.volumeHandler.onEnterFrame = function() {
		ref.player.volumeIndicator._y = vitgt-(vitgt-ref.player.volumeIndicator._y)/1.2;
		ref.player.volumeBar._height = tgt-(tgt-ref.player.volumeBar._height)/1.2;
		if (ref.player.volumeIndicator._y>vitgt-1 && ref.player.volumeIndicator._y<vitgt+1 && ref.player.volumeBar._height>tgt-1 && ref.player.volumeBar._height<tgt+1) {
			delete this.onEnterFrame;
		}
	};
};
mp3Player.prototype.setVolumeDrag = function(x) {
	if (x>100) {
		x = 100;
	}
	if (x<0) {
		x = 0;
	}
	var ref = this;
	var tgt = x/100*this.player.volumeHeight;
	this.sound.volumeI = x;
	this.sound.setVolume(x);
	this.player.volumeNR.text = Math.round(x);
	this.volumeHandler.onEnterFrame = function() {
		ref.player.volumeBar._height = tgt-(tgt-ref.player.volumeBar._height)/1.2;
		if (ref.player.volumeBar._height>tgt-1 && ref.player.volumeBar._height<tgt+1) {
			delete this.onEnterFrame;
		}
	};
};
mp3Player.prototype.dragVolumeSlider = function() {
	var ref = this;
	var maxH = this.player.volumeHeight;
	var vi = this.player.volumeIndicator;
	var vb = this.player.volumeBar;
	this.volumeSlideHandler.onEnterFrame = function() {
		if (_root._ymouse>=vb._y-maxH-1 && _root._ymouse<=vb._y+1) {
			vi._y = _root._ymouse;
			ref.setVolumeDrag((vb._y-_root._ymouse)*100/maxH);
		}
	};
};
mp3Player.prototype.previous = function() {
	this.songs.index--;
	if (this.songs.index<0) {
		this.songs.index = this.songs.length-1;
	}
	this.showSongInfo();
	this.sound.stop();
	this.sound.loadSound(this.songs[this.songs.index].url, false);
	this.preload([{func:"startSong", param:[]}, {func:"indicateProgress", param:[]}, {func:"enableDrag", param:[]}]);
};
mp3Player.prototype.indicateProgress = function() {
	var ref = this;
	this.progressHandler.onEnterFrame = function() {
		var played = ref.sound.position;
		var total = ref.sound.duration;
		ref.player.progressIndicator._x = ref.player.progressIndicator.offset+((played/total)*ref.player.loadWidth);
		if (played == total && total>0) {
			delete this.onEnterFrame;
			ref.resetProgressIndicator();
			ref.next();
		}
	};
};
mp3Player.prototype.preload = function(returnFuncArray) {
	this.disableDrag();
	var ref = this;
	this.indicateStatus(-1);
	this.loadHandler.onEnterFrame = function() {
		var loaded = ref.sound.getBytesLoaded();
		var total = ref.sound.getBytesTotal();
		ref.player.loadBar._width = (loaded/total)*ref.player.loadWidth;
		if (loaded == total && total>0) {
			if (returnFuncArray[0] != undefined) {
				for (var i = 0; i<returnFuncArray.length; i++) {
					ref[returnFuncArray*.func].apply(ref, returnFuncArray*.param);
				}
			}
			delete this.onEnterFrame;
		}
	};
};
mp3Player.prototype.setRollOver = function(grow) {
	if (grow) {
		this.player.previousButton.onRollOver = this.player.stopButton.onRollOver=this.player.pauseButton.onRollOver=this.player.playButton.onRollOver=this.player.nextButton.onRollOver=function () { this.grow();};
		this.player.previousButton.onRollOut = this.player.stopButton.onRollOut=this.player.pauseButton.onRollOut=this.player.playButton.onRollOut=this.player.nextButton.onRollOut=function () { this.shrink();};
	} else {
		this.player.previousButton._alpha = this.player.stopButton._alpha=this.player.pauseButton._alpha=this.player.playButton._alpha=this.player.nextButton._alpha=30;
		this.player.previousButton.onRollOver = this.player.stopButton.onRollOver=this.player.pauseButton.onRollOver=this.player.playButton.onRollOver=this.player.nextButton.onRollOver=function () { this.fadeIn();};
		this.player.previousButton.onRollOut = this.player.stopButton.onRollOut=this.player.pauseButton.onRollOut=this.player.playButton.onRollOut=this.player.nextButton.onRollOut=function () { this.fadeOut();};
	}
};
mp3Player.prototype.setControls = function() {
	var ref = this;
	var playB = this.player.playButton;
	var prevB = this.player.previousButton;
	var stopB = this.player.stopButton;
	var nextB = this.player.nextButton;
	var pauseB = this.player.pauseButton;
	var volIndic = this.player.volumeIndicator;
	volIndic.onPress = function() {
		ref.dragVolumeSlider();
	};
	volIndic.onRelease = volIndic.onReleaseOutside=function () { delete ref.volumeSlideHandler.onEnterFrame;};
	pauseB.onRelease = function() {
		if (!ref.sound.stopped) {
			ref.indicateStatus(0);
			ref.sound.paused = true;
			ref.sound.stopped = false;
			ref.sound.pausedPosition = ref.sound.position;
			ref.sound.stop();
			ref.stopProgressIndicator();
		}
	};
	stopB.onRelease = function() {
		ref.indicateStatus(-1);
		ref.sound.stopped = true;
		ref.sound.paused = false;
		ref.sound.stop();
		ref.sound.pausedPosition = 0;
		ref.resetProgressIndicator();
	};
	playB.onRelease = function() {
		if (ref.sound.stopped) {
			ref.indicateProgress();
			ref.indicateStatus(1);
			ref.sound.start(0, 1);
			ref.sound.stopped = false;
		} else if (ref.sound.paused) {
			ref.indicateProgress();
			ref.indicateStatus(1);
			ref.sound.start(ref.sound.pausedPosition/1000, 1);
			ref.sound.paused = false;
		}
	};
	nextB.onRelease = function() {
		ref.resetProgressIndicator();
		ref.next();
	};
	prevB.onRelease = function() {
		ref.resetProgressIndicator();
		ref.previous();
	};
};
mp3Player.prototype.enableDrag = function() {
	var ref = this;
	this.player.progressIndicator.onPress = function() {
		ref.sound.stop();
		ref.stopProgressIndicator();
		ref.indicateStatus(0);
		ref.sound.paused = true;
		ref.sound.stopped = false;
		total = ref.sound.duration;
		this.onEnterFrame = function() {
			this._x = _root._xmouse;
			if (_root._xmouse<ref.player.loadBar._x) {
				this._x = ref.player.loadBar._x;
			}
			if (_root._xmouse>ref.player.loadBar._x+ref.player.loadWidth) {
				this._x = ref.player.loadBar._x+ref.player.loadWidth;
			}
			var percent = ((this._x-ref.player.loadBar._x)/ref.player.loadWidth)*100;
			this.newPosition = (percent*total)/100;
		};
	};
	this.player.progressIndicator.onRelease = this.player.progressIndicator.onReleaseOutside=function () { if (this.newPosition>=ref.sound.duration) {this.newPosition = ref.sound.duration-1;}delete this.onEnterFrame;ref.sound.start(ref.player.progressIndicator.newPosition/1000, 1);ref.sound.paused = false;ref.sound.stopped = false;ref.indicateStatus(1);ref.indicateProgress();};
};
// prototypes
MovieClip.prototype.fadeIn = function() {
	this.onEnterFrame = function() {
		this._alpha += 2;
		this._alpha>=100 ? delete this.onEnterFrame : null;
	};
};
MovieClip.prototype.fadeOut = function() {
	this.onEnterFrame = function() {
		this._alpha -= 2;
		this._alpha<=30 ? delete this.onEnterFrame : null;
	};
};
MovieClip.prototype.grow = function() {
	var t = 150;
	this.onEnterFrame = function() {
		this._xscale = this._yscale=t-(t-this._xscale)/1.2;
		if (this._xscale>t-1 && this._xscale<t+1) {
			delete this.onEnterFrame;
		}
	};
};
MovieClip.prototype.shrink = function() {
	var t = 100;
	this.onEnterFrame = function() {
		this._xscale = this._yscale=t-(t-this._xscale)/1.2;
		if (this._xscale>t-1 && this._xscale<t+1) {
			delete this.onEnterFrame;
		}
	};
};
MovieClip.prototype.easeX = function(t) {
	this.onEnterFrame = function() {
		this._x = t-(t-this._x)/1.2;
		if (this._x>t-1 && this._x<t+1) {
			delete this.onEnterFrame;
		}
	};
};
// creation of mp3Player class instance and junk
songsArray = new Array();
playerInterface = new Object();
playerInterface.playButton = this.playButton;
playerInterface.stopButton = this.stopButton;
playerInterface.pauseButton = this.pauseButton;
playerInterface.previousButton = this.previousButton;
playerInterface.nextButton = this.nextButton;
playerInterface.loadBar = this.loadbar;
playerInterface.loadWidth = 165;
playerInterface.progressIndicator = this.proIndic;
playerInterface.statusIndicator = this.statusIndic;
playerInterface.songInfo = this.songInfo;
playerInterface.volumeBar = this.volumeBar;
playerInterface.volumeNR = this.volumeNR;
playerInterface.volumeIndicator = this.volumeIndic;
playerInterface.volumeHeight = 60;
// ---------------------------------------------------
XMLRetrieve = new XML();
XMLRetrieve.ignoreWhite = true;
XMLRetrieve.load("onlineplaylist.xml");
XMLRetrieve.onLoad = function() {
	for (var j = 0; j<this.firstChild.childNodes.length; j++) {
		songsArray.push({title:this.firstChild.childNodes[j].attributes.title, artist:this.firstChild.childNodes[j].attributes.artist, url:this.firstChild.childNodes[j].firstChild.nodeValue});
	}
	player = new mp3Player(songsArray, playerInterface, 1);
};