2009-03-31 4 views
0

Ich muss eine Bildsequenz als Film in einer Adobe AIR-Anwendung anzeigen - d. H. Viele Bilder als Videoframes behandeln und das Ergebnis anzeigen. Für den Moment werde ich versuchen, sie einfach zu laden und in einem Movieclip anzuzeigen, aber das könnte zu langsam sein. Irgendwelche fortschrittlichen Ideen, wie es funktioniert? Bilder befinden sich auf einer Festplatte oder sehr schnelle Netzwerkfreigabe, so dass die Bandbreite ausreichen sollte. Es kann Tausende von ihnen geben, so dass es nicht möglich ist, alles in den Speicher zu laden.Die beste Methode zum Anzeigen der Bildsequenz als Film in Adobe AIR

Adobe AIR ist nicht 100% entschieden, ich bin offen für andere Ideen, wie man eine Cross-Plattform-Desktop-Anwendung für diesen Zweck schnell genug erstellen kann.

Antwort

0

Sie können ein Bildsteuerelement als Filmframe verwenden und dann einen Puffer mit BitmapData-Objekten laden. Füllen Sie die BitmapData-Objekte mit den Bildern, wenn sie eintreffen, und rufen Sie dann die Bildladefunktion auf, um das nächste Bild im Puffer zu laden.

private drawNextImage(bitmapData:BitmapData):void { 
movieFrame.load(new Bitmap(bitmmapData)); 
} 
+0

Danke, das könnte funktionieren - oder besser noch einen OnEnterFrame-Handler verwenden, um Bilder so anzuzeigen, wie sie kommen. Mehr oder weniger was ich vorhabe - danke für den Tipp trotzdem! –

0

Falls die Bilder sind nicht groß, aber sie haben eine Menge von ihnen kann es zu Gruppensequenzen auf einzelne Bitmaps interessant sein (à la mipmap). Auf diese Weise können Sie z. B. eine Bitmap mit 50 Bildern laden, die 2 Sekunden Videowiedergabe bei 25 fps ergeben.

Diese Methode ist besonders nützlich online, da Sie die Anzahl der Pings und Handshakes begrenzen möchten, die Langsamkeit verursachen, aber ich denke, es kann auch nützlich sein, um Laden, Entladen und Speicherzugriff zu optimieren.