Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et 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 une 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 la chronologie, appelez la méthode IAMTimeline ::CreateEmptyNode. Par exemple, le code suivant crée un 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 de 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 fini de l’utiliser. N’appelez pas la fonction CoCreateInstance. Utilisez toujours CreateEmptyNode pour créer un objet de chronologie, car il initialise le nouvel objet à utiliser dans une chronologie.
L’interface IAMTimelineObj est une interface générique. Il fournit des méthodes communes à tous les types d’objets de 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.
Après avoir créé un objet, il ne fait pas encore partie de la chronologie. La méthode permettant d’ajouter un objet à la chronologie dépend du type d’objet. La section suivante explique comment ajouter des groupes, des compositions et des pistes à la chronologie.
Rubriques connexes