Partager via


Création d’objets de chronologie

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

[Cette API n’est pas prise en charge et peut être modifiée ou indisponible à l’avenir.]

L’exemple de code présenté dans cet article commence par un chronologie vide, mais les mêmes étapes s’appliquent si vous chargez un projet existant et souhaitez y ajouter des objets.

Pour créer n’importe quel type d’objet dans le chronologie, appelez la méthode IAMTimeline::CreateEmptyNode. Par exemple, le code suivant crée un nouveau groupe :

IAMTimelineObj *pGroupObj = NULL;
pTL->CreateEmptyNode(&pGroupObj, TIMELINE_MAJOR_TYPE_GROUP);

Le deuxième paramètre est membre de l’énumération TIMELINE_MAJOR_TYPE . Il spécifie le type d’objet chronologie à créer, tel qu’un groupe ou une piste.

La méthode CreateEmptyNode crée l’objet et retourne un pointeur vers l’interface IAMTimelineObj de l’objet. Il incrémente également le nombre de références sur l’interface IAMTimelineObj . Vous devez donc libérer l’interface lorsque vous avez terminé de l’utiliser. N’appelez pas la fonction CoCreateInstance . Au lieu de cela, utilisez toujours CreateEmptyNode pour créer un objet chronologie, car il initialise le nouvel objet à utiliser dans un chronologie.

L’interface IAMTimelineObj est une interface générique. Il fournit des méthodes communes à tous les types d’objet chronologie. Chaque type d’objet expose également d’autres interfaces. Par exemple, les groupes exposent l’interface IAMTimelineGroup , entre autres. Vous pouvez obtenir des pointeurs vers les autres interfaces en appelant QueryInterface.

Une fois que vous avez créé un objet, il ne fait pas encore partie du chronologie. La méthode permettant d’ajouter un objet au chronologie dépend du type d’objet. La section suivante explique comment ajouter des groupes, des compositions et des pistes au chronologie.

Construction d’une chronologie