webForumDet fria alternativet

mp3-spelare, ska inte spelas automatiskt

Flash

8 svar · 555 visningar · startad av kylberg

Medlem sedan nov. 200796 inlägg
Frågan#1

jag har byggt en mp3-spelare i flash och just nu börjar låten spelas automatiskt. vad ska läggas till i koden för att man ska behöva trycka på PLAY för att låten ska spelas?

stop();
playlist = new XML();
playlist.ignoreWhite = true;
playlist.onLoad = function(success) {
	if (success) {
		_global.songname = [];
		_global.songband = [];
		_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();
	_global.song_nr = random(songfile.length);
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};
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...";
		}
	};
	this.sound_obj.onSoundComplete = function() {
		(song_nr == songfiles.length-1) ? _global.song_nr=0 : _global.song_nr++;
		_root.sound_mc.songStarter(songfiles[song_nr], songname[song_nr]);
	};
};
btn_play.onRelease = function() {
	this._parent.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};
btn_stop.onRelease = function() {
	this._parent.sound_mc.sound_obj.stop();
};
btn_fw.onRelease = function() {
	(song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};
btn_rev.onRelease = function() {
	(song_nr == 0) ? _global.song_nr=songfile.length-1 : _global.song_nr--;
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};
playlist.load("playlist.xml");
Medlem sedan dec. 20051 420 inlägg
#2

utan att kunna något alls om flash... så det är en riktig gissning.. sist i function(success) har vi en rad som heter

_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);

Samma kod som finns på playknappen... vad händer om du tar bort den raden?

Medlem sedan nov. 200796 inlägg
#3

haha grymt, funkade! tack för den gissningen

Medlem sedan nov. 200796 inlägg
#4

nu är det ytterligare ett problem :P när man trycker på pause ska låten stanna, och när man sedan trycker på play ska den fortsätta från samma ställe. nu börjar den istället om varje gång man trycker på play.

Medlem sedan maj 2005704 inlägg
#5

Jag förmodar att anledningen till att du bygger din egen då det finns så många fördiga mp3 spelare att välja på är att du vill lära dig.

Så lite kommentarer om din kod:
Använd inte MovieClip.prototype då en vanlig funktion skulle fungera lika bra.
För det första finns det väl ingen anledning att lägga till songStarter funktionen till alla MC's, och även om så skulle vara fallet så är det en förlegad metod då man med AS2 kan skapa klasser och vill du lägga till metoder för en klass skapar du en underklass för det.

Istället för att använda onEnterFrame för att visa meddelande medans låten laddar använd dig av onLoad event för att kolla när låten laddat klart.

Just nu laddar du om låten varje gång du vill starta den så jag skulle separera laddnings och play funktioner.

Då det gäller att pausa så kan du kolla Sound.position då du pausar och sedan starta igen genom köra Sound.start med den sparade positionen som argument för att sätta en offset.
Observera att Sound.position är i millisekunder medans Sound.start offset är i sekunder.

Medlem sedan dec. 20051 420 inlägg
#6

Blixtsystems skrev:

Jag förmodar att anledningen till att du bygger din egen då det finns så många fördiga mp3 spelare att välja på är att du vill lära dig.

Och jag gissar på att det är färdig kod som han har tagit nånstans och nu försöker modifiera.. Eller hur kylberg?

Medlem sedan nov. 200796 inlägg
#7

haha exakt. jag är ganska grön på actionscript, vet inte vad nåt av det där betydde faktiskt :P

jag har bara hittat gratis flash-spelare som inte går att ändra design på, och som man måste ladda upp musiken via nån annan hemsida. jag vill ju ha kontroll över alla filer på min egen server.

skulle va grymt om man kunde få allt förklarat för en, annars om det finns tutorials som lär ut bättre tekniker så kan ni ju gärna länka till dom. så länge dom e gratis förstås.

Medlem sedan maj 2005704 inlägg
#8

Isåfall skulle jag nog leta reda på en annan spelare då den du hittat ser mycket amatörmässigt kodad ut.
Nu har jag inte så jättebra koll på de bästa alternativen för färdiga spelare som är smidiga att anpassa, men denna brukade vara rätt poppis:
http://www.jeroenwijering.com/upload/mp3player-2-3.zip

Medlem sedan nov. 200796 inlägg
#9

den där verkar bra, men den frågar efter config.xml när jag testar den.
jag tog bort allt förutom knapparna, tidslinjen och volymen. kan jag ha pajat nåt?

274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)