Beispiel für asynchrone Filter
BESCHREIBUNG
Das Async Filter-Beispiel ist ein Dateilesefilter, der den progressiven Download unterstützt. Dieser Beispielfilter implementiert die Schnittstellen IAsyncReader und IFileSourceFilter. Es unterstützt MPEG-Dateien, aber keine AVI-Dateien.
Verwendung
Dieses Beispiel enthält eine kleine Befehlszeilenanwendung Memfile.exe, die den Filter veranschaulicht. Die Befehlszeilenargumente geben eine Mediendatei und eine Bitrate in Kilobyte pro Sekunde an. Die Anwendung liest die Datei mit der angegebenen Rate in den Arbeitsspeicher und gibt die Datei wieder. Hierzu wird eine Instanz des Filters erstellt, der Filter dem Filterdiagramm hinzugefügt und der Ausgabepin des Filters gerendert.
Geben Sie an der Befehlszeile den folgenden Befehl ein:
Memfile-Dateiname BitRate
Der Async-Beispielfilter unterstützt keine AVI-Dateien, da er keine Verbindung mit dem AVI-Splitterfilter herstellen kann. Der Ausgabepin des asynchronen Filters schlägt MEDIATYPE _ Stream und MEDIASUBTYPE _ NULL für den Medientyp vor. Der Eingabepin für den AVI-Splitterfilter akzeptiert MEDIASUBTYPE NULL nicht _ und schlägt keine eigenen Typen vor. Aus diesem Grund schlägt die Pinverbindung fehl. Der Async-Filter kann ggf. erweitert werden, um MEDIASUBTYPE _ Avi anzubieten. Beispielsweise kann das Dateiformat untersucht oder die Dateierweiterung verwendet werden.
Herunterladen des Beispiels
Installieren Sie die neueste Version des Windows SDK,um die DirectShow SDK-Beispiele herunterzuladen.
Dieses Beispiel wird unter folgendem Pfad installiert: [ SDK-Stammbeispiele ] \ Multimedia \ \ DirectShow Filters \ \ Async.