J'ai fait une "capture d'écran" avant d'utiliser le JPGEncoder, donc je pense que vous devriez être capable de capturer l'écran sur l'événement ENTER_FRAME. Cela peut ne pas fonctionner car l'encodage JPG n'est pas super rapide.
C'est comme ça que je m'y prendrais. À titre de référence, voici un code qui fait cela (pour une capture d'écran unique):
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");
Vous pouvez probablement étendre à être appelé dans votre gestionnaire d'événements ENTER_FRAME, puis enregistrez le fichier à différents noms de fichiers. Aussi, au lieu de la scène, vous pouvez utiliser un objet d'affichage différent. Je ne sais pas à quelle vitesse cela va fonctionner, vous devrez peut-être baisser la fréquence d'images afin que l'ENTER_FRAME ne soit pas autant appelé, mais vous perdrez de la qualité dans vos rendus JPG. En outre, en réduisant la qualité de la ligne: new JPGEncoder(100)
de 100 à une valeur inférieure peut aider avec les tailles de fichier des fichiers jpeg (mais peut entraîner ou non un surcroît de compression).