# MP3 random play help

**URL:** <https://forum.kirupa.com/t/mp3-random-play-help/286792>\
**Category:** flash\
**Created:** [April 21, 2009, 1:58am UTC](https://forum.kirupa.com/t/mp3-random-play-help/286792 "2009-04-21T01:58:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jrock924](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jrock924](https://forum.kirupa.com/u/jrock924)\
**Post date:** [April 21, 2009, 1:58am UTC](https://forum.kirupa.com/t/mp3-random-play-help/286792/1 "2009-04-21T01:58:03Z")

</div>

Hello,

I am trying to make this MP3 player I have shuffle the tracks and I was told that there was no way to do this. I don’t have very much experience but I am sure there is a way to do this. If anyone can help or walk me through I would greatly appreciate this.

here is the actionscript:

stop();  
import mx.transitions.Tween;  
import mx.transitions.easing.\*;  
import flash.filters.BlurFilter;  
import flash.filters.GlowFilter;

var folder:String = “modules/mp3player/”;  
//var myXML:String = “songs.xml”;  
var myXML:String = \_root.moduleData;

var playState:Boolean = false;  
var backgroundImage:String;  
var playerAutoPlay:Boolean = false;  
var artist:Array = new Array();  
var trackNames:Array = new Array();  
var trackFiles:Array = new Array();  
var trackDuration:Array = new Array();  
var indicatorStartX:Number = duration\_mc.indicator\_mc.\_x;  
var total:Number = 0;

\_root.toggleMusic(true);

var musicXML:XML = new XML();  
musicXML.ignoreWhite = true;  
musicXML.onLoad = function(success) {  
if (success) {  
backgroundImage = this.firstChild.attributes.artwork;  
loadMovie(folder+backgroundImage, background\_mc);  
if (this.firstChild.attributes.autoplay == “yes”) {  
playerAutoPlay = true;  
}  
total = this.firstChild.childNodes.length;  
for (var i:Number = 0; i\<this.firstChild.childNodes.length; i++) {  
artist.push(this.firstChild.childNodes\*.childNodes[0].firstChild.nodeValue);  
trackNames.push(this.firstChild.childNodes\*.childNodes[1].firstChild.nodeValue);  
trackFiles.push(this.firstChild.childNodes\*.childNodes[2].firstChild.nodeValue);  
trackDuration.push(this.firstChild.childNodes\*.childNodes[3].firstChild.nodeValue);  
var newTrack:MovieClip = tracklisting\_mc.target\_mc.attachMovie(“trackRow”, “trackRow”+i, i);  
newTrack.\_y += (newTrack.trackRowBg\_mc.\_height)_i;  
newTrack.ID = i;  
newTrack.playicon\_mc.\_visible = false;  
newTrack.artist\_txt.html = true;  
newTrack.artist\_txt.htmlText = artist_;  
newTrack.trackname\_txt.html = true;  
newTrack.trackname\_txt.htmlText = trackNames\*;  
newTrack.tracktime\_txt.html = true;  
newTrack.tracktime\_txt.htmlText = trackDuration\*;  
newTrack.onRollOver = function() {  
var fadeDown:Tween = new Tween(this, “\_alpha”, None.easeOut, this.\_alpha, 50, 0.4, true);  
};  
newTrack.onRollOut = newTrack.onReleaseOutside = function() {  
var fadeDown:Tween = new Tween(this, “\_alpha”, None.easeOut, this.\_alpha, 100, 0.4, true);  
};  
newTrack.onRelease = function() {  
\_global.songID = this.ID;  
resetTracks();  
startTheMusic(trackFiles[this.ID]);  
this.playicon\_mc.\_visible = true;  
};  
}  
tracklisting\_mc.scrollInfo();  
if (playerAutoPlay == true) {  
\_global.songID = 0;  
startTheMusic(trackFiles[0]);  
tracklisting\_mc.target\_mc.trackRow0.playicon\_mc.\_visible = true;  
}  
} else {  
trace(“cannot load XML”);  
}  
};  
musicXML.load(myXML);

function resetTracks() {  
for (var i:Number = 0; i\<total; i++) {  
tracklisting\_mc.target\_mc[“trackRow”+i].playicon\_mc.\_visible = false;  
}  
}  
resetTracks();

var mySong:Sound = new Sound();

function startTheMusic(file) {  
info\_mc.\_alpha = 0;  
info\_mc.artist\_txt.html = true;  
info\_mc.artist\_txt.htmlText = artist[\_global.songID];  
info\_mc.songtitle\_txt.html = true;  
info\_mc.songtitle\_txt.htmlText = trackNames[\_global.songID];  
var showInfo:Tween = new Tween(info\_mc, “\_alpha”, None.easeOut, 0, 100, 1, true);  
playState = true;  
mySong = new Sound();  
mySong.loadSound(folder+file, true);  
mySong.start(0);  
mySong.onSoundComplete = playNextSong;  
playpause\_mc.gotoAndStop(2);  
mySong.setVolume(Math.round((volumecontrols\_mc.scrubber\_mc.\_x / volumecontrols\_mc.bar\_mc.\_width) \* 100));  
}

function playNextSong() {  
// Play next song  
//delete main\_mc.onEnterFrame;  
if (\_global.songID \< trackFiles.length-1) {  
\_global.songID++;  
} else {  
\_global.songID = 0;  
}  
startTheMusic(trackFiles[\_global.songID]);  
};

function startTracking() {  
main\_mc.onEnterFrame = function() {  
findTime();  
};  
}  
startTracking();

var currentTime:Number;  
var songDuration:Number;

function findTime() {  
currentTime = Math.round(mySong.position/1000);  
songDuration = Math.round(mySong.duration/1000);  
duration\_mc.indicator\_mc.\_x = mySong.position/mySong.duration\*duration\_mc.bar\_mc.\_width;

```
var songMinutes:Number = Math.floor(songDuration/60);
var songSeconds:Number = songDuration%60;
statustext_mc.duration_txt.text = songMinutes+":"+songSeconds;

var songMinutesC:Number = Math.floor(currentTime/60);
var songSecondsC:Number = currentTime%60;
if (songSecondsC &lt; 10) {
    newSongSecondsC = "0"+songSecondsC;
} else {
    newSongSecondsC = songSecondsC;
}
statustext_mc.position_txt.text = songMinutesC+":"+newSongSecondsC;

```

}

duration\_mc.indicator\_mc.onPress = function() {  
delete main\_mc.onEnterFrame;  
startDrag(this, false, 0, 0, duration\_mc.bar\_mc.\_width, 0);  
};  
duration\_mc.indicator\_mc.onRelease = duration\_mc.indicator\_mc.onReleaseOutside = function() {  
stopDrag();  
mySong.start(((this.\_x / duration\_mc.bar\_mc.\_width) \* mySong.duration)/1000);  
startTracking();  
};

function setVolume() {  
mySong.setVolume(Math.round((volumecontrols\_mc.scrubber\_mc.\_x / volumecontrols\_mc.bar\_mc.\_width) \* 100));  
}

volumecontrols\_mc.scrubber\_mc.onPress = function() {  
startDrag(this, false, 0, 0, volumecontrols\_mc.bar\_mc.\_width, 0);  
main2\_mc.onEnterFrame = setVolume;  
};  
volumecontrols\_mc.scrubber\_mc.onRelease = volumecontrols\_mc.scrubber\_mc.onReleaseOutside = function() {  
stopDrag();  
delete main2\_mc.onEnterFrame;  
};

stop\_mc.onRollOver = function() {  
var myTween:Tween = new Tween(stop\_mc, “glow”, Regular.easeOut, 0, 5, 0.4, true);  
myTween.onMotionChanged = function() {  
stop\_mc.filters = [new GlowFilter(0xFFFFFF, 1, stop\_mc.glow, stop\_mc.glow, 1, 2, false, false)];  
};  
};  
stop\_mc.onRollOut = stop\_mc.onReleaseOutside = function() {  
var myTween:Tween = new Tween(stop\_mc, “glow”, Regular.easeOut, stop\_mc.glow, 0, 0.4, true);  
myTween.onMotionChanged = function() {  
stop\_mc.filters = [new GlowFilter(0xFFFFFF, 1, stop\_mc.glow, stop\_mc.glow, 1, 2, false, false)];  
};  
myTween.onMotionFinished = function() {  
stop\_mc.filters = null;  
};  
};  
stop\_mc.onRelease = function() {  
mySong.start(0);  
mySong.stop();  
playState = false;  
playpause\_mc.gotoAndStop(1);  
};

playpause\_mc.onRollOver = function() {  
var myTween:Tween = new Tween(playpause\_mc, “glow”, Regular.easeOut, 0, 5, 0.4, true);  
myTween.onMotionChanged = function() {  
playpause\_mc.filters = [new GlowFilter(0xFFFFFF, 1, playpause\_mc.glow, playpause\_mc.glow, 1, 2, false, false)];  
};  
};  
playpause\_mc.onRollOut = playpause\_mc.onReleaseOutside = function() {  
var myTween:Tween = new Tween(playpause\_mc, “glow”, Regular.easeOut, playpause\_mc.glow, 0, 0.4, true);  
myTween.onMotionChanged = function() {  
playpause\_mc.filters = [new GlowFilter(0xFFFFFF, 1, playpause\_mc.glow, playpause\_mc.glow, 1, 2, false, false)];  
};  
myTween.onMotionFinished = function() {  
playpause\_mc.filters = null;  
};  
};  
playpause\_mc.onRelease = function() {  
if (playState == true) {  
mySong.stop();  
playState = false;  
playpause\_mc.gotoAndStop(1);  
} else {  
mySong.start(mySong.position/1000);  
playState = true;  
playpause\_mc.gotoAndStop(2);  
}  
};

bg\_mc.\_alpha = 0;  
tracklisting\_mc.\_alpha = 0;  
info\_mc.\_alpha = 0;  
playpause\_mc.\_alpha = 0;  
stop\_mc.\_alpha = 0;  
controls\_mc.\_alpha = 0;  
background\_mc.\_alpha = 0;  
duration\_mc.\_alpha = 0;  
statustext\_mc.\_alpha = 0;  
volumecontrols\_mc.\_alpha = 0;

function intro() {  
var anim1:Tween = new Tween(bg\_mc, “\_alpha”, None.easeOut, 0, 90, 0.7, true);  
var anim2:Tween = new Tween(bg\_mc, “\_xscale”, Strong.easeInOut, 10, 100, 0.5, true);  
var anim3:Tween = new Tween(bg\_mc, “\_yscale”, Strong.easeInOut, 10, 100, 0.5, true);  
anim3.onMotionFinished = function() {  
var anim4:Tween = new Tween(tracklisting\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
anim4.onMotionFinished = function() {  
var anim5:Tween = new Tween(background\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
anim5.onMotionFinished = function() {  
var anim5:Tween = new Tween(playpause\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
var anim6:Tween = new Tween(stop\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
var anim7:Tween = new Tween(controls\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
var anim7:Tween = new Tween(duration\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
var anim7:Tween = new Tween(statustext\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
var anim7:Tween = new Tween(volumecontrols\_mc, “\_alpha”, None.easeOut, 0, 100, 0.3, true);  
};  
};  
}  
}  
intro();

Thanks  
JJ
