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:
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).
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.
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 ;)
261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849