Verwenden von Windows Media mit DirectShow Editing Services
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]
In diesem Abschnitt wird beschrieben, wie Sie Windows Media-basierte Inhalte in einer DirectShow Editing Services (DES)-Anwendung verwenden. Es gibt zwei Standard Szenarien:
- Quellclips. Ein DES-Projekt kann Audio- und Videoclips aus Windows Media-Dateien enthalten.
- Zielformat. Windows Media ist ein ideales Format für die endgültige Ausgabe eines Videobearbeitungsprojekts.
Um mit Windows Media-Dateien arbeiten zu können, muss die Anwendung ein Softwarezertifikat bereitstellen, das auch als Schlüssel bezeichnet wird. Dazu wird ein Schlüsselanbieterobjekt implementiert. Der Schlüsselanbieter ist ein COM-Objekt, das die IServiceProvider-Schnittstelle verfügbar macht. Informationen zum Implementieren des Schlüsselanbieters finden Sie unter Entsperren des Windows Media Format SDK.
Um DES mit Windows Media-Dateien verwenden zu können, benötigen die folgenden DES-Objekte den Softwareschlüssel:
Die Render-Engine für die Vorschau oder das Schreiben von Dateien.
Das MediaDet-Objekt, um Videoframes oder Medientypen aus ASF-Dateien abzurufen.
![Wichtig]
Verwenden Sie die Smart Render Engine nicht zum Lesen oder Schreiben von Windows Media-Dateien. Verwenden Sie immer die Basic Render Engine (CLSID_RenderEngine).
Um einem Objekt den Softwareschlüssel zu erteilen, fragen Sie dieses Objekt für die IObjectWithSite-Schnittstelle ab, und rufen Sie IObjectWithSite::SetSite mit einem Zeiger auf Ihren Schlüsselanbieter auf. Der folgende Code stellt beispielsweise den Softwareschlüssel für die Render-Engine bereit:
// Create your key provider, using an application-defined function:
IServiceProvider *pKey;
hr = MyCreateKeyProviderFunction(&pKey);
// Query the Render Engine for IObjectWithSite.
IObjectWithSite *pOWS;
hr = pRenderEngine->QueryInterface(__uuidof(IObjectWithSite),
reinterpret_cast<void**>(&pOWS));
if (SUCCEEDED(hr))
{
// Give it your key provider.
hr = pOWS->SetSite(pKey);
pOWS->Release();
}
pKey->Release();
Um Windows Media-Quellclips in einem DES-Projekt zu verwenden, rufen Sie einfach IObjectWithSite::SetSite auf der Render-Engine mit einem Zeiger auf Ihren Schlüsselanbieter auf.
Informationen zum Schreiben von Windows Media-Dateien finden Sie unter Schreiben einer Windows Media-Datei in DES.
Zugehörige Themen