Flash audioplayer skal spille numre fortløbende
Jeg har en Flash audioplayer som afspiller mp3-filer fra en given mappe. Derudover er tilknyttet en xml-fil med konfigurationer som filnavne og titler på de forskellige tracks (i dette tilfælde 14 stk).Eneste problem er at den bliver ved med at loope track 1 i ring, indtil man på en af de 14 knapper vælger et andet track. Jeg vil gerne have at den spiller track 1 og automatisk går videre til 2, 3 osv.Det er nok bare en lille detalje der skal ændres, men jeg har mistet overblikket.
Her er det væsentligste actionscript i filen. Håber at nogen af indsigt nok til at overskue det. Takker.
var count = 0;
tf._width = 116;
tf._alpha = 150;
function parsexmlnodes(node){
var curnode = node.firstChild;
while(curnode!=null){
if(curnode.nodeName.toUpperCase()=="TRACKS"){
curnode = curnode.firstChild;
while(curnode!=null){
if(curnode.nodeName.toUpperCase()=="TRACK"){
addbutton(curnode);
}
curnode = curnode.nextSibling;
}
return true;
}else if(parsexmlnodes(curnode)){
return true;
}else{
curnode = curnode.nextSibling;
}
}
}
function addbutton(node){
//trace(this + ".addbutton(...)");
var itemmov = null, previtem = eval("btn" + (count-1));
if(count==0){
itemmov = btn0;
}else{
btn0.duplicateMovieClip("btn" + count, count);
itemmov = eval("btn" + count);
}
itemmov._caption = count+1;
itemmov._x += count*13;
tf._x = itemmov._x + 20; //tf pos
itemmov._src = node.attributes.SRC;
itemmov._track = node.attributes.NAME;
itemmov._artist = node.attributes.ARTIST;
itemmov._press = function(){
//trace(this + "._press()");
this._parent.loadsound(this._src, this._artist, this._track);
}
itemmov._prev = previtem;
itemmov._next = null;
previtem._next = itemmov;
count++;
}
parsexmlnodes(_root.configxml);
this._x = 800 - this._width;
var snd = new Sound(), cursrc = "", curtext = "";
snd.setVolume(20);
snd.onSoundComplete = function(){
//trace("complete " + this);
this.stop();
// Lydvolumen ved gentagende afspilninger
snd.setVolume(100);
snd.start(0, 1);
}
function loadsound(src, artist, track){
//trace(this + ".loadsound(" + src + ")");
cursrc = src;
// Generel lyd-volumen
snd.setVolume(20);
snd.loadSound("tracks/" + src, true);
snd.start();
if(artist != undefined and track != undefined){
curhtmlcode = artist + " : " + track;
tf.text = curhtmlcode;
}
}
function startsound(){
//trace(this + ".startsound()");
snd.setVolume(100);
loadsound(cursrc);
tf.htmlText = curhtmlcode;
}
function stopsound(){
//trace(this + ".stopsound()");
snd.stop();
tf.text = "[no sound]";
}