---
title: "Byta spår när det spelats klart?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/167255-byta-spår-när-det-spelats-klart"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "bassebhu"
published: "2007-12-13T21:17:57.000Z"
updated: "2007-12-21T14:02:52.000Z"
replies: 21
views: 1168
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/flash/167255-byta-spår-när-det-spelats-klart"
---

# Byta spår när det spelats klart?

_Sida 1 av 2._

## #1 — bassebhu, 2007-12-13T21:17Z

Hej!

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);

}

}
```

Tackar! :)

Permalänk: https://www.webforum.nu/p/167255

## #2 — crisse6, 2007-12-14T10:28Z

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!

Permalänk: https://www.webforum.nu/p/2061051

## #3 — rille31, 2007-12-14T12:43Z

Tror att detta borde fungera, anropar funktionen nextSong när spåret spelat klart

```php
function playSong():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];

}
s.onSoundComplete = function() {
		nextSong();
	}
}
```

Permalänk: https://www.webforum.nu/p/2061070

## #4 — bassebhu, 2007-12-14T18:53Z

> **crisse6 skrev:**
>
> 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.

Permalänk: https://www.webforum.nu/p/2061159

## #5 — crisse6, 2007-12-15T02:52Z

det blir en funktion du kör efter att du initierat ljudet, dvs när du kallat på "loadSound".

kan ge exmpel imonr!

Permalänk: https://www.webforum.nu/p/2061245

## #6 — bassebhu, 2007-12-15T15:33Z

> **crisse6 skrev:**
>
> det blir en funktion du kör efter att du initierat ljudet, dvs när du kallat på "loadSound".
> 
> kan ge exmpel imonr!

okej, tack. det vore burrigt.

jag har testat nåt åt det här hållet och det funkade inte...

```
function playSong():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];

}

s.onSoundComplete = function() {
s.loadSound(_root.xmlClass.sa[++cps], true);						
_root.clip1.clip2.clip3.tracktext.display_txt.text = _root.xmlClass.names[cps];
}

}
```

Permalänk: https://www.webforum.nu/p/2061320

## #7 — crisse6, 2007-12-15T17:18Z

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)

Bilagor:

- [musicplayer.zip](https://www.webforum.nu/a/16661.zip)

Permalänk: https://www.webforum.nu/p/2061344

## #8 — Auric, 2007-12-15T17:36Z

har du gjort en egen mediaspelare?!?!?!

Permalänk: https://www.webforum.nu/p/2061346

## #9 — crisse6, 2007-12-15T17:41Z

vad snackar du om?

Permalänk: https://www.webforum.nu/p/2061347

## #10 — bassebhu, 2007-12-16T11:18Z

hm, tack för svaret, har kikat en del på ditt exempel men för en oinvigd så var det inte det lättaste =/

du skulle inte kunna försöka implementera den här onenter-frame-saken i min kod lite snabbt? :)

tack för hjälpen hur som helst

Permalänk: https://www.webforum.nu/p/2061439

## #11 — doridori, 2007-12-16T11:34Z

Bäst att bli invigd då om du ska göra en sån här grej i Flash, eller låt någon annan göra det kanske... :bire

Permalänk: https://www.webforum.nu/p/2061441

## #12 — Auric, 2007-12-16T12:00Z

> **crisse6 skrev:**
>
> vad snackar du om?

påstade i fel tråd

Permalänk: https://www.webforum.nu/p/2061442

## #13 — crisse6, 2007-12-16T12:04Z

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..

Bilagor:

- [musicplayerv2.zip](https://www.webforum.nu/a/16666.zip)

Permalänk: https://www.webforum.nu/p/2061445

## #14 — bassebhu, 2007-12-17T15:22Z

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):

```
var xmlClass = new Xmlload();
var playClass = new Player();
stop();

[...]

this.pause_btn.onRelease = function() {
   _root.playClass.pauseIt();
};
this.play_btn.onRelease = function() {
   _root.playClass.unPauseIt();
};
this.next_btn.onRelease = function() {
   _root.playClass.playSong();
};
this.prev_btn.onRelease = function() {
    _root.playClass.prevSong();
};

[...]

this.tracktext.display_txt.text = _root.xmlClass.names[0];
stop();
```

Bilagor:

- [flashplayer.zip](https://www.webforum.nu/a/16672.zip)

Permalänk: https://www.webforum.nu/p/2061677

## #15 — crisse6, 2007-12-17T20:05Z

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.

Permalänk: https://www.webforum.nu/p/2061722

## #16 — bassebhu, 2007-12-17T21:15Z

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 :( 

xml:en innehåller bara detta:

```
<?xml version='1.0' encoding='utf-8'?>
<songs>
<song url="song1.mp3" name="Song 1" />
<song url="song2.mp3" name="Song 2" />
</songs>
```

swf:en innehåller i princip det jag skickade i förra inlägget. sen är det inga fler filer...

Tack för all hjälp!
Jag vet att det är värdelöst att hjälpa någon som inte fattar nåt, men jag uppskattar det du gör :)

Permalänk: https://www.webforum.nu/p/2061739

## #17 — doridori, 2007-12-17T22:33Z

> **bassebhu skrev:**
>
> Tack för all hjälp!
> Jag vet att det är värdelöst att hjälpa någon som inte fattar nåt, men jag uppskattar det du gör :)

Förmodligen är det även lite värdelöst att hjälpa någon som inte skickar de filer man behöver för att hjälpa personen... 
  :stud   :bire

Permalänk: https://www.webforum.nu/p/2061754

## #18 — bassebhu, 2007-12-18T20:04Z

> **doridori skrev:**
>
> Förmodligen är det även lite värdelöst att hjälpa någon som inte skickar de filer man behöver för att hjälpa personen... 
>   :stud   :bire

okej, sorry sorry, men nu fanns ju allt här ;)

Permalänk: https://www.webforum.nu/p/2061949

## #19 — bassebhu, 2007-12-18T21:12Z

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!

Permalänk: https://www.webforum.nu/p/2061971

## #20 — bassebhu, 2007-12-20T10:37Z

Någon? :)

Permalänk: https://www.webforum.nu/p/2062273

---

Tråden på webben: https://www.webforum.nu/amne/flash/167255-byta-spår-när-det-spelats-klart  
Nästa sida: https://www.webforum.nu/amne/flash/167255-byta-spår-när-det-spelats-klart/page2.md
