Création d’un fichier à partir d’un Flux existant
Une façon de créer un fichier contenant des flux de données consiste à combiner des flux existants dans un nouveau fichier. Les flux qui fournissent des données pour le nouveau fichier peuvent résider dans la mémoire ou dans un ou plusieurs fichiers.
Vous pouvez générer un fichier à partir de plusieurs flux à l’aide de la fonction AVISave . Cette fonction crée un fichier et écrit les flux de données spécifiés dans sa séquence d’appel dans le fichier. La séquence d’appel pour AVISave utilise un nombre variable d’arguments qui incluent des interfaces pour les flux combinés dans le nouveau fichier.
Vous pouvez également combiner des flux de données dans un nouveau fichier à l’aide de la fonction AVISaveV . Cette fonction fournit les mêmes fonctionnalités que AVISave, mais quand vous utilisez AVISaveV, votre application spécifie les flux de données sous forme de tableau, et non comme un nombre variable d’arguments.
Vous pouvez créer une boîte de dialogue dans laquelle l’utilisateur peut sélectionner des paramètres de compression pour le nouveau fichier à l’aide de la fonction AVISaveOptions . La boîte de dialogue affiche les paramètres de compression actuels et permet à l’utilisateur de les modifier. Les modifications des paramètres de compression sont stockées dans une structure AVICOMPRESSOPTIONS .
Vous pouvez également inclure une fonction de rappel avec AVISave et AVISaveV que votre application peut utiliser pour afficher la progression de l’écriture du fichier et, si nécessaire, permettre à l’utilisateur d’annuler l’opération d’enregistrement. Vous pouvez inclure l’adresse de la fonction de rappel dans la séquence d’appel de AVISave ou AVISaveV.
Vous pouvez laisser l’utilisateur sélectionner un nom de fichier pour le nouveau fichier à l’aide de la fonction GetSaveFileNamePreview . Cette fonction affiche la boîte de dialogue Enregistrer sous dans laquelle l’utilisateur peut afficher un aperçu du premier flux (normalement le flux vidéo) d’un fichier AVI.
Vous pouvez créer un pointeur d’interface de fichier (et un fichier virtuel) pour un groupe de flux à l’aide de la fonction AVIMakeFileFromStreams . D’autres fonctions AVIFile peuvent utiliser le pointeur d’interface de fichier retourné par cette fonction pour accéder aux flux dans le fichier virtuel. Une fois que vous avez fini d’utiliser le fichier virtuel, supprimez le pointeur d’interface de fichier à l’aide de la fonction AVIFileRelease .
Notes
Pour réduire la dégradation des images et du son, évitez de compresser un fichier AVI plusieurs fois. Combinez des éléments vidéo non compressés dans votre système de montage, puis compressez le produit final. Pour plus d’informations sur les options de compression, consultez Video Compression Manager.