Delen via


Tijdlijnobjecten maken

[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

[Deze API wordt niet ondersteund en kan in de toekomst worden gewijzigd of niet beschikbaar.]

De voorbeeldcode in dit artikel begint met een lege tijdlijn, maar dezelfde stappen zijn van toepassing als u een bestaand project laadt en er objecten aan wilt toevoegen.

Als u een willekeurig type object in de tijdlijn wilt maken, roept u de methode IAMTimeline::CreateEmptyNode aan. Met de volgende code wordt bijvoorbeeld een nieuwe groep gemaakt:

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

De tweede parameter is lid van de opsomming TIMELINE_MAJOR_TYPE. Hiermee geeft u het type tijdlijnobject op dat moet worden gemaakt, zoals een groep of een track.

De methode CreateEmptyNode maakt het object en retourneert een aanwijzer naar de IAMTimelineObj-interface van het object. Ook wordt het aantal verwijzingen op de IAMTimelineObj-interface verhoogd, dus u moet de interface vrijgeven wanneer u klaar bent met het gebruik ervan. Roep de CoCreateInstance functie niet aan. Gebruik in plaats daarvan altijd CreateEmptyNode om een tijdlijnobject te maken, omdat hiermee het nieuwe object wordt geïnitialiseerd voor gebruik in een tijdlijn.

De interface IAMTimelineObj is een algemene interface. Het biedt methoden die gebruikelijk zijn voor alle typen tijdlijnobjecten. Elk type object maakt ook andere interfaces beschikbaar. Groepen maken bijvoorbeeld de IAMTimelineGroup interface beschikbaar. U kunt aanwijzers naar de andere interfaces verkrijgen door QueryInterfaceaan te roepen.

Nadat u een object hebt gemaakt, maakt het nog geen deel uit van de tijdlijn. De methode voor het toevoegen van een object aan de tijdlijn is afhankelijk van het objecttype. In de volgende sectie wordt beschreven hoe u groepen, composities en tracks toevoegt aan de tijdlijn.

een tijdlijn maken