How to randomize songs in a Flash Jukebox - conntected to an XML databse
Hey there all!,
I have been making a Jukebox in flash but I got stucked at roandomizing the songs - every song must be played randomized before it's allowed to be played a 2nd tim -
Some people told me to do this with an Array, but I am pretty new in this so I have NO CLUE how.
Please help me as soon as possible, it's urgent !
Heavinly much thanks in Advance
p.s: This is the flash code I got for my Jukebox :
var my_songs:XMLList;
var my_total:Number;
var my_sound:Sound;
var my_channel:SoundChannel;
var current_song:Number = 0;
var song_position:Number;
var song_paused:Boolean;
var myXMLLoader:URLLoader = new URLLoader(); // naakt een nieuwe XML loader
myXMLLoader.load(new URLRequest("playlist.xml")); // load playlist.xml
myXMLLoader.addEventListener(Event.COMPLETE, processXML); // event aan maken
function processXML (e:Event):void // roept funcite aan
{
var myXML:XML = new XML(e.target.data);
my_songs = myXML.SONG;
my_total = my_songs.length();
playSong(1);
}
function playSong(mySong:Number):void
{
var myTitle = my_songs[mySong].@TITLE;
var myArtist = my_songs[mySong].@ARTIST;
var myURL = my_songs[mySong].@URL;
title_txt.text = myTitle;
artist_txt.text = myArtist;
if (my_channel)
{
my_channel.stop();
}
my_sound = new Sound();
my_sound.load(new URLRequest(myURL));
my_channel = my_sound.play();
my_channel.addEventListener(Event.SOUND_COMPLETE, onNext);
}
next_btn.addEventListener(MouseEvent.CLICK, onNext);
function onNext(e:Event):void
{
current_song++;
if (current_song>=my_total)
{
current_song=0;
}
playSong(current_song);
}
prev_btn.addEventListener(MouseEvent.CLICK, onPrev);
function onPrev(e:MouseEvent):void
{
current_song--;
if (current_song<0)
{
current_song = my_total-1;
}
playSong(current_song);
}
pause_btn.addEventListener(MouseEvent.CLICK, onPause);
function onPause(e:MouseEvent):void
{
if (my_channel)
{
song_position = my_channel.position;
my_channel.stop();
song_paused=true;
}
}
play_btn.addEventListener(MouseEvent.CLICK, onPlay);
function onPlay(e:MouseEvent):void
{
if (song_paused)
{
my_channel = my_sound.play(song_position);
song_paused=false;
}
}
