Facebook Profilbild mit LoaderMax laden

Facebook-Profilbilder kommen von gefühlt 20.000 unterschiedlichen Server; vermutlich eine Load-Balancing-Sache. Und die crossdomain dieser Server ist nicht ganz so offen, wie man das auf den ersten Blick gerne hätte. Nun kann man natürlich aus der URL des Bildes (die sich ja abfragen lässt) den Server extrahieren, und die crossdomain dieses Servers laden… genau das bietet LoaderMax aber schon von haus aus:

das “true” des LoaderContextes bedeutet, dass die entsprechende crossdomain geladen wird.

Streamen von SWFs

Grundsätzlich können SWFs streamen. Viele Preloader basieren darauf: Auf dem ersten Frame (der bereits verfügbar ist) dreht sich die Sanduhr, während der zweite Frame mit der Anwendung noch geladen wird.

So kann man zB mit LoaderMax ein SWF streamen, in dem ein Video und ein Sound auf der Zeitleiste liegen:

Leider kann man das Laden nicht pausieren:

It’s actually impossible to do a true pause/resume on a single loader in Flash. When you pause() an individual loader, it basically cancels it and then when you resume(), it starts over. You might be wondering why have pause/resume then at all, right? It’s primarily useful in a LoaderMax queue. Imagine you have 20 loaders in a LoaderMax queue and after 12 of them, you pause() while the 13th one is loading. It would technically just cancel that 13th one, but when you resume(), the 12 that had already loaded are still there – it resumes the queue at 13 and picks up from there.

Quelle

Trotzdem nice: Streaming, und trotzdem Zugriff auf einzelne Frames.

Wichtig dabei:

  • autoPlay:false. Das verhindert, dass das SWF “im Hintergrund” schon startet, während man es eigentlich noch buffert
  • die Zeilen mit “SoundTransform”. “autoPlay:false” setzt das Volume des SWF auf 0, damit man es im Hintergrund nicht hört. Das wird zwar automatisch wieder auf 1 gesetzt, aber erst, wenn das SWF fertig geladen ist!
  • Der Sound muss auf der Hauptzeitleiste liegen! Wird er in einen MC verschachtelt, muss dieser parallel zu _loadedSWF.gotoAndPlay(1) ebenfalls auf Frame 1 zurückgesetzt werden

Flash: FLVs spielen nicht ab

Folgendes Problem:Der VideoLoader von GreenSock spielt ein sehr kurzes FLV (<5 Sekunden) nicht immer ab. Genauere Prüfung zeigt aber, dass das FLV geladen ist (seine Dauer wird korrekt ausgelesen), und es genau 1x, fast am Ende, ein PlayProgress-Event wirft. Das Problem tritt nur selten, aber zuverlässig auf.

Umgebung: Mindestens Flash Player 10.0.12.36

Lösung: Das FLV ist kürzer als die (Default-) BufferTime. Verringert man bufferTime auf zB 1 Sekunde, dann geht’s.