2009-04-28 13 views
1

Ich arbeite an einer Flash-Site mit vielen videobasierten Abschnitt-zu-Abschnitt-Übergängen. Die Übergangsvideos selbst sind nur ein paar Sekunden lang, aber ziemlich schwer (~ 700kb), da sie sehr hochauflösend sind; Angesichts der Anzahl von Abschnitten und Schnitt-zu-Abschnitt-Übergangskombinationen (und daher Videos) ist das Vorladen aller Übergänge bei der anfänglichen Ladenutzung nicht durchführbar.FLV in Actionscript 3 vorab laden?

Was ich gerne tun würde, ist ein schnelles Laden jedes Übergangsvideos nach Bedarf; Wenn Sie sich beispielsweise in Bereich A befinden und auf Navigation für Bereich B klicken, wird das A-> B-Video geladen (es dauert nur wenige Sekunden auf die meisten Benutzer) und wird dann wiedergegeben. Ich möchte aber auch, dass eine schnelle Loader-Grafik als Übergangsladung angezeigt wird, bevor sie abgespielt wird (etwas Einfaches wie eine Loadbar, aber mehr als nur ein Spinner oder ähnliches, da das Gefühl eines bestimmten Fortschritts wichtig ist).

Was ist der beste Weg, dies in Actionscript 3 zu tun? Es war relativ einfach in AS2 (http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001036.html), aber ich habe noch eine einfache Lösung für AS3 zu sehen. Ich verwende Standard-Code-basierte Techniken für die FLV-Wiedergabe in AS3 (NetConnection, NetStream, Video-Objekte) - keine FLVPlaybackComponents oder ähnliches.

Vielen Dank!

+0

welche Probleme Sie mit AS3 konfrontiert sind? – dirkgently

Antwort

0

Es ist nicht viel anders in AS3. Verwenden Sie einfach einen Timer anstelle eines Intervalls. Hatten Sie Probleme, diesen Code in AS3 zu konvertieren?

+0

Danke. Ich hatte nicht bemerkt, dass bytesLoaded und bytesTotal immer noch Teil des NetStream-Objekts in as3 waren - Ihre Empfehlung hat den Trick gut gemacht. – justinbach

0

Das Beispiel auf der Adobe-Website funktioniert immer noch, nur prepend:

import flash.utils.setInterval;