Ich habe eine "Bildschirmaufnahme" gemacht, bevor ich den JPGEncoder benutze. Ich denke, Sie sollten den Bildschirm auf dem ENTER_FRAME Event erfassen können. Dies funktioniert möglicherweise nicht, da die JPG-Codierung nicht sehr schnell ist.
So würde ich es tun. Für Ihre Referenz, hier ist einige Code, der dies tut (für einen einzigen Screenshot):
var fileReference:FileReference = new FileReference();
// Capture the BitmapData of the stage for example
var captureMovieClip:DisplayObjectContainer = stage;
var stage_snapshot:BitmapData = new BitmapData(captureMovieClip.width, captureMovieClip.height);
stage_snapshot.draw(captureMovieClip);
// Setup the JPGEncoder, run the algorithm on the BitmapData, and retrieve the ByteArray
var encoded_jpg:JPGEncoder = new JPGEncoder(100);
var jpg_binary:ByteArray = encoded_jpg.encode(stage_snapshot);
// save
fileReference.save(jpg_binary, "screenshot.jpg");
Sie wahrscheinlich diese erweitern können, um in Ihrem ENTER_FRAME Event-Handler aufgerufen werden, und dann die Datei auf verschiedene Dateinamen speichern. Anstelle der Bühne können Sie auch ein anderes Anzeigeobjekt verwenden.
Ich weiß nicht, wie schnell das laufen wird, müssen Sie möglicherweise die Bildrate senken, so dass die ENTER_FRAME nicht so viel aufgerufen wird, aber Sie werden einige Qualität in Ihren JPG-Renderings verlieren.
Auch die Qualität in der Zeile: new JPGEncoder(100)
von 100 auf einen niedrigeren Wert kann mit Dateigrößen der JPEGs helfen (aber möglicherweise mehr Overhead mit der Komprimierung oder nicht entstehen).