GraphEdit の使用
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
GraphEdit は、Microsoft Windows ソフトウェア開発キット (SDK) (https://go.microsoft.com/fwlink/p/?linkid=62332) で入手できます。
GraphEdit アプリケーションの名前は "graphedt.exe" です。 SDK をインストールすると、"graphedt.exe" は次のディレクトリにあります: \Program Files (x86)\Windows Kits\10\bin\<sdk version>\x64\。
GraphEdit を実行する前に、regsvr32 ユーティリティを使用して、同じディレクトリにある次の DLL を登録します。
- proppage.dll
- evrprop.dll
これらの DLL を使用すると、GraphEdit で一部の組み込みの DirectShow フィルターのプロパティ ページを表示できます。
ファイル再生グラフを作成する
GraphEdit では、ファイル再生用のフィルター グラフを作成できます。 この機能は、アプリケーションで IGraphBuilder::RenderFile メソッドを呼び出すことと同じです。 [ ファイル ] メニューの [ メディア ファイルのレンダリング] をクリックします。 GraphEdit に [ ファイルを開く ] ダイアログ ボックスが表示されます。 マルチメディア ファイルを選択し、[ 開く] をクリックします。 GraphEdit は、選択したファイルを再生するフィルター グラフを作成します。
URL にあるメディア ファイルをレンダリングすることもできます。 [ ファイル ] メニューの [ URL のレンダリング] をクリックします。 GraphEdit には、URL を入力するダイアログ ボックスが表示されます。
フィルター グラフを作成する
GraphEdit では、システムに登録されているフィルターのいずれかを使用して、カスタム フィルター グラフを作成できます。 [グラフ] メニューの [フィルターの挿入] をクリックします。 ダイアログ ボックスが表示され、システム上のフィルターの一覧がフィルター カテゴリ別に表示されます。 GraphEdit は、レジストリ内の情報からこのリストをビルドします。 次の図は、 ダイアログ ボックスを示しています。
グラフにフィルターを追加するには、フィルターの名前を選択し、[ フィルターの挿入 ] ボタンをクリックするか、フィルター名をダブルクリックします。 フィルターを追加したら、あるフィルターの出力ピンから別のフィルターの入力ピンにマウスをドラッグして、2 つのフィルターを接続できます。 ピンが接続を受け入れると、GraphEdit は接続中の矢印を描画します。
グラフを実行する
グラフの編集でフィルター グラフを作成したら、グラフを実行して、期待どおりに動作するかどうかを確認できます。 [グラフ] メニューには、[再生]、[一時停止]、[停止] のメニュー コマンドが含まれています。 これらのコマンドは、それぞれ 、IMediaControl メソッド Run、 Pause、 Stop を呼び出します。 GraphEdit ツール バーには、次のコマンドのボタンもあります。
注意
GraphEdit Stop コマンドは、最初にグラフを一時停止し、時間 0 をシークします (グラフがシーク可能であると仮定)。 ファイルを再生する場合、このアクションはビデオ ウィンドウを最初のフレームにリセットします。 次に、GraphEdit は IMediaControl::Stop を呼び出します。
グラフがシーク可能な場合は、ツールバーの下に表示されるスライダー バーをドラッグして、グラフをシークできます。 スライダー バーをドラッグすると、 IMediaSeeking::SetPositions メソッドが 呼び出されます。
プロパティ ページの表示
一部のフィルターでは、フィルターのプロパティを設定するためのユーザー インターフェイスを提供するカスタム プロパティ ページがサポートされています。 GraphEdit でフィルターのプロパティ ページを表示するには、フィルターを右クリックし、ポップアップ ウィンドウから [プロパティ ] を選択します。 GraphEdit には、フィルターで定義されたプロパティ シート (存在する場合) を含むプロパティ ページが表示されます。 さらに、GraphEdit には、フィルターの各ピンのプロパティ シートが含まれています。 pin プロパティ シートは、フィルターではなく GraphEdit によって定義されます。 ピンが接続されている場合、pin プロパティ シートには、接続のメディアの種類が表示されます。 それ以外の場合は、ピンの優先メディアの種類が一覧表示されます。
注意
GraphEdit の組み込みプロパティ ページを使用するには、proppage.dll登録する必要があります。 この DLL は、Windows SDK で使用できます。 DLL には、一部の DirectShow フィルター用の追加のプロパティ ページも含まれています。 これらのプロパティ ページは、デバッグ目的でのみ提供されます。
関連トピック