Async-Filterbeispiel

BESCHREIBUNG

Das Async-Filterbeispiel ist ein Dateileserfilter, der den progressiven Download unterstützt. Dieser Beispielfilter implementiert die IAsyncReader - und IFileSourceFilter-Schnittstellen . Es unterstützt MPEG-Dateien, aber nicht AVI-Dateien.

Verwendung

Dieses Beispiel enthält eine kleine Befehlszeilenanwendung, Memfile.exe, die den Filter veranschaulicht. Die Befehlszeilenargumente geben eine Mediendatei und eine Bitrate pro Sekunde an. Die Anwendung liest die Datei in den Arbeitsspeicher mit der angegebenen Rate und spielt die Datei. Dazu erstellt er eine Instanz des Filters, fügt dem Filterdiagramm den Filter hinzu und rendert die Ausgabehefte des Filters.

Geben Sie an der Befehlszeile den folgenden Befehl ein:

Memfile Filename BitRate

Der Async-Beispielfilter unterstützt KEINE AVI-Dateien, da sie keine Verbindung mit dem AVI Splitter-Filter herstellen kann. Die Ausgabehefte des Async-Filters schlägt MEDIATYPE_Stream und MEDIASUBTYPE_NULL für den Medientyp vor. Die Eingabehefte im AVI Splitter-Filter akzeptiert MEDIASUBTYPE_NULL nicht und schlägt keine eigenen Typen vor. Daher schlägt die Pinverbindung fehl. Der Async-Filter könnte erweitert werden, um MEDIASUBTYPE_Avi bei Bedarf anzubieten. Sie kann z. B. das Dateiformat untersuchen oder die Dateierweiterung verwenden.

Herunterladen des Beispiels

Um die DirectShow SDK-Beispiele herunterzuladen, installieren Sie die neueste Version des Windows SDK.

Dieses Beispiel wird unter dem folgenden Pfad installiert: [SDK Root]\Samples\Multimedia\DirectShow\Filters\Async.

DirectShow-Beispiele