Verwenden von GraphEdit

[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.]

GraphEdit ist im Microsoft Windows Software Development Kit (SDK) ()https://go.microsoft.com/fwlink/p/?linkid=62332 verfügbar.

Der Name der GraphEdit-Anwendung lautet "graphedt.exe". Nach der Installation des SDK befindet sich "graphedt.exe" im folgenden Verzeichnis: \Programme (x86)\Windows Kits\10\bin\<sdk version>\x64\.

Verwenden Sie vor dem Ausführen von GraphEdit das Hilfsprogramm regsvr32, um die folgenden DLLs zu registrieren, die sich im selben Verzeichnis befinden:

  • proppage.dll
  • evrprop.dll

Mit diesen DLLs kann GraphEdit Eigenschaftenseiten für einige der integrierten DirectShow-Filter anzeigen.

Erstellen eines Diagramms zur Dateiwiedergabe

GraphEdit kann ein Filterdiagramm für die Dateiwiedergabe erstellen. Dieses Feature entspricht dem Aufrufen der IGraphBuilder::RenderFile-Methode in einer Anwendung. Klicken Sie im Menü Datei auf Mediendatei rendern. GraphEdit zeigt ein Dialogfeld Datei öffnen an. Wählen Sie eine Multimediadatei aus, und klicken Sie auf Öffnen. GraphEdit erstellt ein Filterdiagramm, um die ausgewählte Datei wiederzugeben.

Sie können auch eine Mediendatei an einer URL rendern. Klicken Sie im Menü Datei auf URL rendern. GraphEdit zeigt ein Dialogfeld an, in das die URL eingegeben werden soll.

Erstellen eines Filterdiagramms

GraphEdit kann mithilfe eines der in Ihrem System registrierten Filter ein benutzerdefiniertes Filterdiagramm erstellen. Klicken Sie im Menü Graph auf Filter einfügen. Es wird ein Dialogfeld mit einer Liste der Filter in Ihrem System angezeigt, die nach Filterkategorie geordnet sind. GraphEdit erstellt diese Liste aus Informationen in der Registrierung. Die folgende Abbildung zeigt das Dialogfeld.

Welche Filter möchten Sie einfügen?

Um dem Diagramm einen Filter hinzuzufügen, wählen Sie den Namen des Filters aus, und klicken Sie auf die Schaltfläche Filter einfügen , oder doppelklicken Sie auf den Filternamen. Nachdem Sie die Filter hinzugefügt haben, können Sie zwei Filter verbinden, indem Sie die Maus vom Ausgabestift eines Filters auf den Eingabenadel eines anderen Filters ziehen. Wenn die Pins die Verbindung akzeptieren, zeichnet GraphEdit einen Pfeil, der sie verbindet.

Verbinden von zwei Filtern

Ausführen des Graphen

Nachdem Sie ein Filterdiagramm in Der Graphenbearbeitung erstellt haben, können Sie das Diagramm ausführen, um zu sehen, ob es wie erwartet funktioniert. Das Menü Graph enthält die Menübefehle Wiedergeben, Anhalten und Beenden. Diese Befehle rufen die IMediaControl-MethodenRun, Pause und Stop auf. Die GraphEdit-Symbolleiste verfügt auch über Schaltflächen für diese Befehle:

Pausen-, Wiedergabe- und Stoppschaltflächen

Hinweis

Der GraphEdit Stop-Befehl hält zuerst das Diagramm an und sucht die Zeit null (vorausgesetzt, das Diagramm ist suchbar). Bei der Dateiwiedergabe setzt diese Aktion das Videofenster auf den ersten Frame zurück. Dann ruft GraphEdit IMediaControl::Stop auf.

 

Wenn das Diagramm suchbar ist, können Sie es suchen, indem Sie den Schieberegler ziehen, der unter der Symbolleiste angezeigt wird. Durch Ziehen des Schiebereglers wird die IMediaSeeking::SetPositions-Methode aufgerufen.

Eigenschaftenseiten anzeigen

Einige Filter unterstützen benutzerdefinierte Eigenschaftenseiten, die eine Benutzeroberfläche zum Festlegen von Eigenschaften für den Filter bereitstellen. Um die Eigenschaftenseite eines Filters in GraphEdit anzuzeigen, klicken Sie mit der rechten Maustaste auf den Filter, und wählen Sie im Popupfenster Eigenschaften aus. GraphEdit zeigt eine Eigenschaftenseite an, die die vom Filter definierten Eigenschaftenblätter enthält (falls vorhanden). Darüber hinaus enthält GraphEdit ein Eigenschaftenblatt für jeden Pin am Filter. Die Pin-Eigenschaftenblätter werden von GraphEdit und nicht vom Filter definiert. Wenn der Pin verbunden ist, zeigt das Pin-Eigenschaftenblatt den Medientyp für die Verbindung an. Andernfalls werden die bevorzugten Medientypen des Pins aufgelistet.

Hinweis

Um die integrierten Eigenschaftenseiten von GraphEdit verwenden zu können, müssen Sie proppage.dll registrieren. Diese DLL ist im Windows SDK verfügbar. Die DLL enthält auch zusätzliche Eigenschaftenseiten für einige DirectShow-Filter. Diese Eigenschaftenseiten werden nur zu Debugzwecken bereitgestellt.

 

Simulieren der Grapherstellung mit GraphEdit