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

Leave a Reply

Your email address will not be published.

Ich erkläre mich damit einverstanden, dass alle eingegebenen Daten und meine IP-Adresse zum Zweck der Spamvermeidung durch das Programm Akismet in den USA überprüft und gespeichert werden. Weitere Informationen zu Akismet und Widerrufsmöglichkeiten.