Jag har fixat en flashspelare för musik som funkar ypperligt sånär på en grej.
Den har play, paus, stop, spår-fram och spår-bak. Allt det funkar. Men det som saknas är att få in så att den byter till nästa spår automatiskt när föregående slutat.
Jag är ingen haj på AS så jag vet egentligen inte hur min spelare funkar, men det här är koden för de olika kontrollerna. Hur ska jag gå till väga för att få in att nästa spår ska komma automatiskt? Behövs mer kod för att det ska gå att förstå hur det är uppbyggt?
function [b]playSong()[/b]:Void {
s = new Sound();
if (cps == _root.xmlClass.sa.length-1) {
cps = 0;
s.loadSound(_root.xmlClass.sa[cps], true);
_root.clip1.clip2.clip3.tracktext.display_txt.text = _root.xmlClass.names[cps];
} else {
s.loadSound(_root.xmlClass.sa[++cps], true);
_root.clip1.clip2.clip3.tracktext.display_txt.text = _root.xmlClass.names[cps];
}
}
function prevSong():Void {
s = new Sound();
if (!(cps == 0)) {
cps = cps-1;
s.loadSound(_root.xmlClass.sa[cps], true);
_root.clip1.clip2.clip3.tracktext.display_txt.text = _root.xmlClass.names[cps];
} else {
cps == _root.xmlClass.sa.length-1;
s.loadSound(_root.xmlClass.sa[cps], true);
_root.clip1.clip2.clip3.tracktext.display_txt.text = _root.xmlClass.names[cps];
}
}
function pauseIt():Void {
pos = s.position;
s.stop();
}
function unPauseIt():Void {
s.start(pos/1000);
}
}
det du får göra är att ha en "onEnterFrame" eller "Interval" som kollar om positionen på spåret som spelas är = den totala tiden på spåret, om ja, så starta nästa :)
Kolla Sound-classen i hjälpen inne i flash så ser du hur du kan få ut rätt information!
det du får göra är att ha en "onEnterFrame" eller "Interval" som kollar om positionen på spåret som spelas är = den totala tiden på spåret, om ja, så starta nästa :)
hur gör man det? ska det läggas inom play/prev eller sist bara en gång efter all annan kod?
det andra exemplet funkade inte. testade lite olika sätt utan resultat. nextsong finns för övrigt inte. den går väl via playsong för att byta spår framåt och unpaus för playfunktionen.
bifogar här ett exempel på hur du skulle kunna göra. En "onEnterFrame" som ligger å kikar tiden på låten just nu, och jämför mot den totala tiden, om dom stämmer överens med varann, så hoppa till nästa låt i arrayen med låtar.
cool?
du får ju ändra "loadSound"-funktionen så den laddar från din xml, och ja, "currentIndex" i mitt exmepel är ju såklart din "cps"!
(ps. song1.mp3, och song2.mp3 får du lägga in i samma mapp som du zippar upp exemplet)
okej, alltså det som skiljer nu är sökväg till låtarna, men har kommenterat var du bör ändra det.
okaj?
red. skicka annars upp dina filer, lättare om man har allt i ett. annars får du försöka fixa genom att kolla på mitt exempel om det inte redan gör det du vill..
Tack för svaret. Jag är väl seg eller nåt, men det känns avigt att lägga in min kodsnutt i den nya än tvärt om. Eftersom allt funkar väldigt bra och det bara är den här lilla funktionen som gör att nästa spår kommer automatiskt som saknas.
Jag bifogar hur som helst mina filer och blir jätteglad om någon orkar kolla på det :)
Tack!
Kodsnuttar inifrån flashfilen (samt två bifogade AS-filer):
Okej. Du får gärna skicka med alla filer, även xml.
Känns som du gett upp rätt tidigt, med tanke på att jag byggde i princip likadant och förklarat vad skillnaden var - sökvägen. Men okej, skicka upp alla filerna så kan jag kolla.
Sorry, jag testade verkligen i 1 timme. Svårt att läsa grekiska om man inte kan det och inte har en ordlista. Vill lära mig AS, men har inte tiden just nu tyvärr :(
Jag har försökt i flera timmar att få det att funka, men det går inte. Den versionen som jag fick här funkar när jag kör den för sig själv, men då saknas funktionen för att ladda in spårnamn samt skilda play/paus-knappar (sista spelar visserligen ingen större roll).
Jag förstår vad du menar med att lägga in min xml i stället i din kod och sedan köra den, men det vill sig inte bara. Dessutom så sparar sig massa saker i cachen så jag är hela tiden osäker på om ändringarna har trätt i kraft eller inte.Det verkar ibland som att gamla inställningar ligger kvar trots att jag har återställt hela webbläsaren.
:(
Jag är oerhört tacksam för hjälp med hur jag ska kunna kombinera de här funktionerna!