Freigeben über


Erstellen von Zeitachsenobjekten

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]

Der in diesem Artikel vorgestellte Beispielcode beginnt mit einer leeren Zeitleiste. Die gleichen Schritte gelten jedoch, wenn Sie ein vorhandenes Projekt laden und diesem Objekte hinzufügen möchten.

Um einen beliebigen Objekttyp im Zeitleiste zu erstellen, rufen Sie die IAMTimeline::CreateEmptyNode-Methode auf. Mit dem folgenden Code wird beispielsweise eine neue Gruppe erstellt:

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

Der zweite Parameter ist ein Member der TIMELINE_MAJOR_TYPE-Enumeration . Er gibt den Typ des zu erstellenden Zeitleiste-Objekts an, z. B. eine Gruppe oder eine Spur.

Die CreateEmptyNode-Methode erstellt das -Objekt und gibt einen Zeiger auf die IAMTimelineObj-Schnittstelle des Objekts zurück. Außerdem wird die Verweisanzahl auf der IAMTimelineObj-Schnittstelle erhöht, sodass Sie die Schnittstelle freigeben müssen, wenn Sie die Verwendung abgeschlossen haben. Rufen Sie die CoCreateInstance-Funktion nicht auf. Verwenden Sie stattdessen immer CreateEmptyNode, um ein Zeitleiste-Objekt zu erstellen, da es das neue Objekt zur Verwendung in einem Zeitleiste initialisiert.

Die IAMTimelineObj-Schnittstelle ist eine generische Schnittstelle. Sie stellt Methoden bereit, die allen Typen von Zeitleiste -Objekt gemeinsam sind. Jeder Objekttyp macht auch andere Schnittstellen verfügbar. Beispielsweise machen Gruppen unter anderem die IAMTimelineGroup-Schnittstelle verfügbar. Sie können Zeiger auf die anderen Schnittstellen abrufen, indem Sie QueryInterface aufrufen.

Nachdem Sie ein Objekt erstellt haben, ist es noch kein Teil der Zeitleiste. Die Methode zum Hinzufügen eines Objekts zum Zeitleiste hängt vom Objekttyp ab. Im folgenden Abschnitt wird beschrieben, wie Sie dem Zeitleiste Gruppen, Kompositionen und Titel hinzufügen.

Erstellen einer Zeitachse