טעינת מוזיקה מקובץ XML

<?xml version="1.0" encoding="utf-8"?>
<PLAYLIST>
<SONG URL="Teacher-01.mp3" TITLE="First Track" ARTIST="John Doe" />
<SONG URL="Teacher-02.mp3" TITLE="Second Track" ARTIST="Random Singer"/>
<SONG URL="Teacher-03.mp3" TITLE="Third Track" ARTIST="Super Generic Singer" />
</PLAYLIST>



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();
myXMLLoader.load(new URLRequest("playlist.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void
{
var myXML:XML = new XML(e.target.data);

my_songs = myXML.SONG;
my_total = my_songs.length();
//playSong(0);
}

function playSong(mySong:Number):void
{
var myTitle = my_songs[mySong]. @ TITLE;
var myArtist = my_songs[mySong]. @ ARTIST;
var myURL = my_songs[mySong]. @ URL;
if (my_channel)
{
my_channel.stop();
}

my_sound = new Sound();
my_sound.load(new URLRequest(myURL));
my_channel = my_sound.play();
}

next_btn.addEventListener(MouseEvent.CLICK, onNext);
function onNext(e:MouseEvent):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
{
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;
}
}

replay_btn.addEventListener(MouseEvent.CLICK, onReplay);

function onReplay(e:MouseEvent):void
{
if (current_song >= my_total)
{
current_song = 0;
}
playSong(current_song);
}

תגובות

פוסטים פופולריים מהבלוג הזה

Thoughts on HTML5, a Flash Developers hopeless rant

Pseudo 3d Isometric view

Veroni Noise