Enregistrement d'une séquence vidéo
Les affichages successifs d'une fenêtre graphique peuvent être enregistrés dans une vidéo, une séquence QuickTime. Vous pouvez choisir la durée de chaque image de la séquence vidéo.
Pour cela, procédez en trois étapes.
-
définissez la propriété movie file de la graphic window avec une référence à un nouveau fichier.
set the_root_path to (path to desktop as text)
set the_movie_path to the_root_path & (make new name) -- définition d'un nom de fichier unique
set movie file of window "untitled" to file the_movie_path
Vous pouvez définir la propriété movie file au moment d'enregistrer la séquence vidéo (étape 3). Cela permet à l'utilisateur d'annuler l'enregistrement.
-
pour enregistrer l'image courante affichée dans la graphic window dans la séquence vidéo, appelez la commande add movieframe. Vous pouvez définir une durée en secondes, via le paramètre duration.
add movieframe w duration 1/30 -- 1/30 second
-
lorsque vous en avez terminé avec la construction de cette séquence vidéo, enregistrez la séquence en utilisant la commande save appliquée à la propriété movie file de la graphic window.
set f to save movie file of w ou : save movie file of w in file "..."
Au lieu d'enregistrer l'ensemble des graphiques de la graphic window dans une séquence vidéo, vous pouvez y inclure les images correspondant à une graphic view spécifique. Vous pouvez faire cela en utilisant la commande add movieframe avec une référence à une graphic view au lieu d'une référence à une graphic window. Cependant, la propriété movie file appartient à la graphic window.
set v to graphic view 1 of w
add movieframe v duration 1/30
Pilotage des vidéos
Smile peut ouvrir et lire des vidéos. Pour ouvrir une vidéo dans Smile, déposez-le sur l'icône de Smile, ou utilisez la syntaxe suivante :
set mw to DoOpen(theMovieFile)
play mw
-- pause the movie:
stop mw
Vous pouvez également utiliser les boutons standards permettant de contrôler la vidéo, correspondant à lecture, pause, avancer et reculer image par image.
Pour avancer une vidéo image par image par script, utilisez la propriété «class STEP» : une valeur 1 affiche l'image suivante, et une valeur -1 affiche l'image précédente. Vous pouvez forcer la vidéo à rafraîchir son affichage en utilisant la commande draw.
set «class STEP» of mw to 1
draw mw
Les vidéos sont des objets de classe movie window et possèdent les accès suivants :
- duration of : commande donnant la durée totale de la vidéo.
duration of mw
-- 5.936666666667
- elapsed time : propriété donnant position actuelle de la vidéo, en secondes.
elapsed time of mw
-- 4.083333333333
set elapsed time of mw to 3.0
- count frames of : commande donnant le nombre d'images de la vidéo.
count frames of mw
-- 361
- current frame, current time : position actuelle de la vidéo, en nombre d'images et en secondes (propriétés en lecture seulement).
- frame index : position actuelle de la vidéo, en nombre d'images.
frame index of mw
-- 1
set frame index of mw to 42
Le dialogue des Préférences de Smile permet d'afficher les vidéo soit en couleurs soit en noir et blanc. En mode noir et blanc, vous pouvez importer les niveaux de gris d'une image, comme il est décrit dans le chapitre Importation/exportation de données.
|