Hinzufügen einer Quelle
[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.]
Erstellen Sie ein Quellobjekt auf die gleiche Weise wie andere Zeitleiste-Objekte. Bevor Sie sie in die Zeitleiste einfügen, müssen Sie jedoch mindestens die folgenden Eigenschaften für die Quelle angeben.
- Die Start- und Stoppzeiten relativ zum Zeitleiste. Rufen Sie die IAMTimelineObj::SetStartStop-Methode auf.
- Die Mediendatei, die als Quelle verwendet werden soll. Rufen Sie die IAMTimelineSrc::SetMediaName-Methode mit einer Breitzeichenzeichenfolge auf, die den Namen der Datei darstellt.
- Die Start- und Endzeiten der Medien, die relativ zur ursprünglichen Datei sind. Rufen Sie die IAMTimelineSrc::SetMediaTimes-Methode auf . Weitere Informationen zu Medienzeiten finden Sie unter Time in DirectShow Editing Services.
Im folgenden Beispiel beginnt der Quellclip vier Sekunden in der Datei. Die Mediendauer beträgt 10 Sekunden, doppelt so lange wie die Zeitleiste Dauer, d. h. die Quelle wird mit doppelter normaler Geschwindigkeit wiedergegeben. Die Konstante UNITS ist als 10000000 (10^7) definiert und entspricht einer Sekunde.
pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile);
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);
Hinweis
Derzeit kann DES nicht mehr als 75 Quellen gleichzeitig rendern, die mit VCM-Codecs (Video Compression Manager) komprimiert wurden. Wenn das Projekt insgesamt mehr als 75 solcher Quellen enthält, müssen Sie außerdem die dynamische erneute Verbindung verwenden, oder DES kann keine Vorschau des Projekts anzeigen. Weitere Informationen finden Sie unter IRenderEngine::SetDynamicReconnectLevel.
Weitere Informationen zu Quellen finden Sie unter Arbeiten mit Quellen.
Zugehörige Themen