IGraphBuilder::RenderFile
RenderFile メソッドは、指定されたファイルをレンダリングするフィルタ グラフを作成する。
構文
HRESULT RenderFile(
LPCWSTR lpwstrFile,
LPCWSTR lpwstrPlayList
);
パラメータ
lpwstrFile
[in] メディア ファイルの名前を含むワイド文字列を指定する。
lpwstrPlayList
[in] 予約済み。NULL でなければならない。
戻り値
HRESULT を返す。可能な値は次のとおりである。
値 | 説明 |
S_OK | 成功。 |
VFW_S_AUDIO_NOT_RENDERED | 不完全な成功。オーディオがレンダリングされなかった。 |
VFW_S_DUPLICATE_NAME | 成功。フィルタ グラフ マネージャがフィルタ名が重複しないようにフィルタ名を変更した。 |
VFW_S_PARTIAL_RENDER | このムービーにサポートされないフォーマットのストリームが含まれている。 |
VFW_S_VIDEO_NOT_RENDERED | 不完全な成功。このムービーにサポートされないフォーマットのストリームが含まれている。 |
E_ABORT | 操作が中止された。 |
E_FAIL | 失敗。 |
E_INVALIDARG | 引数が無効。 |
E_OUTOFMEMORY | メモリ不足。 |
E_POINTER | NULL ポインタ引数。 |
VFW_E_CANNOT_CONNECT | 接続を確立する中間フィルタの組み合わせが見つからなかった。 |
VFW_E_CANNOT_LOAD_SOURCE_FILTER | このファイルのソース フィルタをロードできなかった。 |
VFW_E_CANNOT_RENDER | ストリームをレンダリングするフィルタの組み合わせが見つからなかった。 |
VFW_E_INVALID_FILE_FORMAT | ファイル フォーマットが無効である。 |
VFW_E_NOT_FOUND | オブジェクトまたは名前が見つからなかった。 |
VFW_E_UNKNOWN_FILE_TYPE | このファイルのメディア タイプが認識されない。 |
VFW_E_UNSUPPORTED_STREAM | ファイルを再生できない。フォーマットがサポートされていない。 |
注意
lpwstrFile 引数がメディア ファイルを指定した場合、このメソッドはデフォルトの再生用のフィルタ グラフを作成する。最初に、IGraphBuilder::AddSourceFilter メソッドと同じ処理を使って、ファイルを読み取ることができるソース フィルタを追加する。次に、必要に応じて中間フィルタを追加して、そのソース フィルタの出力ピンをレンダリングする。フィルタは IGraphBuilder::Connect メソッドの場合と同じ順序で試される。
接続処理では、中間フィルタのピン名が ~ (チルダ) で始まる場合、フィルタ グラフ マネージャはそのフィルタのピンを無視する。詳細については、「PIN_INFO」を参照すること。
RenderFile メソッドは、グラフからフィルタを削除しない点に注意すること。RenderFile を 2 回呼び出すと、2 回目の呼び出しでは単純に追加のフィルタがグラフに追加される。グラフを実行すると、両方のソースが同時に再生される。
サンプル コード
以下の例では、デフォルト再生用の AVI ファイルをレンダリングする。
hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0);
以下の例では、ファイル ソース (URL) フィルタを使って、HTTP を経由して AVI をダウンロードする。
hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0);
参照