webForumDet fria alternativet

Flash: Behöver hjälp med en TUTORIAL(!)

Flashur Flash, Shockwave

13 svar · 573 visningar · startad av oskars

oskarsMedlem sedan nov. 20051 317 inlägg
#1

Okej, det här lite lustigt... men jag försöker göra en mp3spelare i Flash enligt en tutorial jag hittat.

Här är den:
http://www.pixel2life.com/publish/tutorials/17/create_a_full_streaming_flash_mp3_player_using_xml_/

Jag är nybörjare i Flash, och jag får inte att fungera...

Detta har jag gjort:
Skapa dom fyra knapparna med rätt instance name som står i guiden + att jag skapat ett dynamiskt textfält med rätt instance name... och så har jag gjort XML-filen så som det står att den ska göras och sparas. Jag har även skapat ett lager som heter Actions och som innehåller Stop(); i första framen.

Jag antar väl att det är sen problemen kommer... vart ska jag lägga den koden som finns är:
http://www.pixel2life.com/publish/tutorials/17/create_a_full_streaming_flash_mp3_player_using_xml_/page3/

alltså denna:

playlist = new XML();
playlist.ignoreWhite=true;
playlist.onload = function (success) {
if(success) {
_global.songname = [];
_global.songfile = [];
for (var i=0; i<playlist.firstChild.childNodes.length; i++) {
_global.songname[i] = playlist.firstChild.childNodes[i].attributes.name;
_global.songfile[i] = playlist.firstChild.childNodes[i].attributes.file;
trace(songname[i]+" "+songfile[i]);
}
_root.createEmptyMovieClip("sound_mc",1);
_root.sound_mc.sound_obj = new Sound();
_root.sound_mc.songStarter(songfile[0],songname[0]);
} else {display_txt.text="Error loading XML"}
}

MovieClip.prototype.songStarter = function (file, name) {
this.sound_obj.loadSound(file,true)
this.onEnterFrame = function () {
if(this.sound_obj.position>0) {
delete this.onEnterFrame;
this._parent.display_txt.text=name;
} else {
this._parent.display_txt.text="loading..."
}
}
}

playlist.load("playlist.xml");

Enligt guiden så ska det funka att testspela mp3orna som ligger i XML-filen... men inget låtnamn eller ljud kommer fram... (alla mp3orna ligger på rätt ställe som står i XML-filen... och XML-filen laddas in, för när jag angett fel sökväg till XML-filen så säger Flash till!)

Nästa fråga blir den här...
Koden för knapparna som man kan se här:
http://www.pixel2life.com/publish/tutorials/17/create_a_full_streaming_flash_mp3_player_using_xml_/page4/

ska jag lägga in den på samma ställe som ovan nämnda kod, eller ska varje kodsnutt in i respektive knapp (när man enkelklickar på varje knapp alltså)...

Här kan man se en översikt av all kod:
http://www.pixel2life.com/publish/tutorials/17/create_a_full_streaming_flash_mp3_player_using_xml_/page5/

Jag har bifogat FLA- samt XML-filen packat i Rar =)

Vore hemskt tacksam om någon vill sätta sig in i det här och hjälpa mig :)

Tusen tack på förhand!

Oskar!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Kan annars rekommenderar: http://gotoandlearn.com/download.php deras flash spelare + video tutorial. Lätt att hänga med och förstå.

oskarsMedlem sedan nov. 20051 317 inlägg
#3

Jag tackar och bugar för tipset! Ska sätta mig in i det så snart jag kan!

oskarsMedlem sedan nov. 20051 317 inlägg
#4

Fick det att funka mkt bra både på webben och lokalt! TACK!!!! :D

Fan nu önskar man ju att man hade typ hur lång tid in i låten var är och sånt där... gärna en playlist också... är det skitsvårt att göra eller?

BlixtsystemsMedlem sedan maj 2005704 inlägg
#5

Skitsvårt är det väl inte, men är man nybörjare på flash är det definitivt lite av ett projekt.

En mycket populär XML-driven spelare med playlist är http://www.jeroenwijering.com/?item=Flash_MP3_Player
Om inte annat kan du kika på den för att få en idé om hur mycket kodande som krävs, men självfallet är det roligare och lärorikare att koda sin egen om du har tid och lust.

oskarsMedlem sedan nov. 20051 317 inlägg
#6

Blixtsystems skrev:

Skitsvårt är det väl inte, men är man nybörjare på flash är det definitivt lite av ett projekt.

En mycket populär XML-driven spelare med playlist är http://www.jeroenwijering.com/?item=Flash_MP3_Player
Om inte annat kan du kika på den för att få en idé om hur mycket kodande som krävs, men självfallet är det roligare och lärorikare att koda sin egen om du har tid och lust.

Tackar för tipset! Men jag är ute efter att få den så anpassad till mig själv som möjligt.. kanske går med den där iofs.. inte kollat ordentligt än, men den var i alla fall mkt fin! Sen önskar jag att jag kunde göra mkt själv! =) Men jag kan inte koda actionscript.... än §e :)

voigtann1Medlem sedan juni 20019 519 inlägg
#7

hur lång en låt är är inte alls svårt att ta reda på... Det lite svårare är att göra en "track-bar" eller en som räkna ner och kan positionera var i låten den är.. men omöjligt är det inte ;)

oskarsMedlem sedan nov. 20051 317 inlägg
#8

voigtann1.... jag har sparat längden på låten i XML så här: songLength="1:30" ... hur kan jag göra en funktion som räknar ner/upp från/till denna siffra?
:)

voigtann1Medlem sedan juni 20019 519 inlägg
#9

Du kan plocka ut den totala längden i ms i ett Sound objekt. borde vara rätt enkelt att räkna ner det med en timer... problemet eller det jobbiga är att skapa en ny timer när låten är färdig + när man pausar låten. Googla lite om Sound Timer in Flash så bör du hitta någon tutorial om just detta.

http://gotoandlearn.com/forum/

Deras forum har jag för mig jag läste någon som fortsatte med Mp3 spelaren där och la in en sådan funktion... sök först på den

voigtann1Medlem sedan juni 20019 519 inlägg
silfverMedlem sedan apr. 200312 679 inlägg
#11

Flyttar tråden från Grafikprogram.

BlixtsystemsMedlem sedan maj 2005704 inlägg
#12

sound.duration samt sound.position kan du använda för att få reda på total tid samt position in millisekunder.

voigtann1Medlem sedan juni 20019 519 inlägg
#13
var len:Number = (s.duration - s.position) / 1000;

bör fungera som Blixtsystems skriver... nu får du ut den i Sekunder.

BlixtsystemsMedlem sedan maj 2005704 inlägg
#14

Jag glömde att påpeka att duration inte stämmer innan låten har laddat in ordentligt.
Vad man kan göra är att räkna ut hur många procent som har laddat in och använda det värdet för att multiplicera duration värdet med.
Typ:

var pc:Number=sound.getBytesTotal()/sound.getBytesLoaded();
var dur:Number=(sound.duration/1000)*pc;
136 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)