webForumDet fria alternativet

Hur få en mp3-spelare att göra som man vill?

JavaScript

3 svar · 1 306 visningar · startad av Danne V

Medlem sedan aug. 20068 090 inlägg
Frågan#1

Har en flash-baserad mp3-spelare med spellista på en sajt (se bild). Funkar kanon. Problemet är bara att när man väl startat en låt, så fortsätter den att spela de följande låtarna. Kunden vill att den ska stanna när låten man valt att spela är slut.

Själva spelaren är bara en swf-fil, inget annat. Låtarna läggs in via en xml-fil där valmöjligheterna är tre: låtens titel, artist och sökväg. Spelaren läggs in som ett object type="application/x-shockwave-flash" och styrs av de sedvanliga parametrarna. Som jag förstår kan man inte stoppa uppspelningen av varje låt där.

Men man kan även styra spelaren m.h.a. googleapis. Då laddas spelaren med javascript och inte direkt som ett object. Koden ser då ut så här:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="player-holder"></div>

<script type="text/javascript">
	var options = {};
	options.playlistXmlPath = "playlist.xml";
	
	var params = {};
	params.allowScriptAccess = "always";
		
	swfobject.embedSWF("OriginalMusicPlayerPlaylist.swf", "player-holder", "250", "250", "9.0.0",false, options, params, {});
</script>

Jag undrar om man kan få spelaren att göra som man vill (stoppa efter varje låt) genom att ändra där?

Alltså, man kopierar http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js och sparar som en lokal fil och ändrar där.

Köpte spelaren i våras. Tyvärr har företaget slutat sälja den helt (se https://www.premiumbeat.com/flash_media_players). Jag har skickat mail och frågat om detta, men får inget svar...

flash-spellista.jpg
Medlem sedan juni 2006244 inlägg
#2

Man kan inte "styra spelaren med googleapis" tyvärr.
googleapis.com är bara en sajt med kodbibliotek som google hostar.
Det din kod är läser in SWFObject som är den mest använda javacript-komponenten för att implementera Flash. Det enda den gör är att ladda in din jukebox-Flash på ett mer dynamiskt sätt än med ett vanligt HTML-element. Det din kod där gör är bara att sätta parametrar att skicka till Flash-filen. Flash-filen är i detta fall programmerad att läsa in parametern "playlistXmlPath".

Det går inte att "kontrollera" Flash-filen på något sätt via swfobject, utan du sätter bara parametrar som läses in av Flash-filen vid laddning.

Det är möjligt att kommunicera med en Flashfil från javascript, men bara på det sätt som är programmerat i Flash-filen.

Med andra ord har du inte mer alternativ än att kontakta utvecklaren eller bygga en ny ljudkomponent (sålänge du inte har källkoden till swf-filen).

Medlem sedan aug. 20068 090 inlägg
#3

doridori skrev:

Man kan inte "styra spelaren med googleapis" tyvärr.
googleapis.com är bara en sajt med kodbibliotek som google hostar.
Det din kod är läser in SWFObject som är den mest använda javacript-komponenten för att implementera Flash. Det enda den gör är att ladda in din jukebox-Flash på ett mer dynamiskt sätt än med ett vanligt HTML-element. Det din kod där gör är bara att sätta parametrar att skicka till Flash-filen. Flash-filen är i detta fall programmerad att läsa in parametern "playlistXmlPath".

Det går inte att "kontrollera" Flash-filen på något sätt via swfobject, utan du sätter bara parametrar som läses in av Flash-filen vid laddning.

Det är möjligt att kommunicera med en Flashfil från javascript, men bara på det sätt som är programmerat i Flash-filen.

Med andra ord har du inte mer alternativ än att kontakta utvecklaren eller bygga en ny ljudkomponent (sålänge du inte har källkoden till swf-filen).

Kanon! Även om svaret inte gav nån lösning så var det en jättebra förklaring.

Eftersom det var en vecka sen jag postade frågan har jag redan sagt till kunden att det är kört. Han får leva med det.

Medlem sedan juni 20019 519 inlägg
#4

Fast du få en referens med namnet "player-holder", du har ingen info om spelaren mer? Typ dokumentation om hur deras API är byggd? För det känns som det borde vara möjligt att styra den... fast utan dokumentation så känns det som ett hopplöst fall för din kund :(

Var 5 år sen jag höll på med flash och Actionscript och hur man jobbar med dom ihop med javascript, så man få kanske freshar upp sina kunskaper om flash lite ;)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)