1

TSysDevEnum.GetMoniker(...) を使用せずに、既知のビデオ キャプチャ ソースで TFilter オブジェクトを作成/初期化することは可能ですか?

ビデオ キャプチャ ソースの名前とその他の詳細は既にわかっており、GraphEdit Filter Browser で取得できます。その意図は、TFilter の初期化を高速化し、それをプログラムで FilterGraph にアタッチすることです。

4

1 に答える 1

1

いいえ、moniker 経由で行う必要があります。これは、ビデオ ソース フィルターをサポートする実際の COM クラスに依存しますが、ほとんどの場合、固有CLSIDのものは存在せず、モニカーを介してインスタンス化することは不可能です。

モニカーの表示名がある場合は、MkParseDisplayName列挙をバイパスして IMoniker をすばやく取得するために使用できます。または、モニカーの表示名を列挙して、既に保持しているものと比較することもできます。

オーディオまたはビデオ キャプチャ デバイスを選択するには、トピック「システム デバイス 列挙子の使用」で説明されているシステム デバイス 列挙子を使用します。System Device Enumerator は、デバイス カテゴリ別に選択されたデバイス モニカのコレクションを返します。モニカーは、別のオブジェクトに関する情報を含む COM オブジェクトです。モニカーを使用すると、アプリケーションは実際にオブジェクトを作成しなくても、オブジェクトに関する情報を取得できます。

于 2012-10-02T18:27:12.563 に答える