Microsoft DirectX 8.0 |
再生する論理ストリームを制御し、それに関する情報を取得する。論理ストリームを選択する例としては、各国語をコード化しているオーディオ ストリームのセットからの選択が挙げられる。たとえばこの場合、英語、ドイツ語、フランス語で構成されるオーディオ ストリームのセットから英語を選択できる。
MPEG-1 ストリーム スプリッタ フィルタは、このインターフェイスを実装する。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IAMStreamSelect メソッド 説明 Count 有効なストリームの総数を取得する。 Info 指定のストリームに関する情報を取得する。 Enable 指定のストリームを有効または無効にする。
有効なストリームの総数を取得する。
構文
HRESULT Count(
DWORD *pcStreams
);
パラメータ
- pcStreams
- [out] 有効なストリーム数を示す値へのポインタ。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。現在の Microsoft® DirectShow® の実装では、S_OK を返す。
指定のストリームを有効または無効にする。
構文
HRESULT Enable(
long lIndex,
DWORD dwFlags
);
パラメータ
- lIndex
- [in] 目的のストリームのインデックス番号。インデックス番号は 0 から始まる。
- dwFlags
- [in] ストリームが有効または無効であることを示すフラグ。次のいずれかを指定する。
0 このストリームを含むグループ内のすべてのストリームを無効にする。 AMSTREAMSELECTENABLE_ENABLE 指定のグループ内のこのストリームだけを有効にし、ほかのすべてのストリームを無効にする。 AMSTREAMSELECTENABLE_ENABLEALL このストリームを含むグループ内のすべてのストリームを有効にする。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。現在の DirectShow の実装では、指定のフラグのサポートが実装されていない場合は E_NOTIMPL を返し、ストリーム ID が無効の場合は E_INVALIDARG を返す。それ以外の場合は、S_OK を返す。
指定のストリームに関する情報を取得する。
構文
HRESULT Info(
long lIndex,
AM_MEDIA_TYPE **ppmt,
DWORD *pdwFlags,
LCID *plcid,
DWORD *pdwGroup,
WCHAR **ppszName,
IUnknown **ppObject,
IUnknown **ppUnk
);
パラメータ
- lIndex
- [in] 目的のストリームのインデックス番号。インデックス番号は 0 から始まる。
- ppmt
- [out] ストリームのメディア タイプへのポインタのアドレス。オプションである。終了時に AM_MEDIA_TYPE 構造体を解放するには、DeleteMediaType 関数を使用する。
- pdwFlags
- [out] ストリームの状態を示すフラグへのオプションのポインタ。有効な値は次のとおりである。
0 このストリームは無効である。 AMSTREAMSELECTINFO_ENABLED ストリームは有効で、このグループ内のほかのストリームも有効である。 AMSTREAMSELECTINFO_EXCLUSIVE グループ内でこのストリームのみが有効である。 - plcid
- [out] ロケール コンテキスト (LCID) 値へのポインタ。LCID がない場合は、このパラメータは 0 値を指す。オプションである。
- pdwGroup
- [out] 論理グループへのポインタ。オプションである。
- ppszName
- [out] ストリーム名へのポインタのアドレス。オプションである。終了時に CoTaskMemFree 関数で解放される。
- ppObject
- [out] このストリームに関連付けられているピンまたはフィルタ オブジェクトへのポインタのアドレス。IAMStreamSelect::Enable メソッドが呼び出されると、オブジェクトが変わる可能性がある。関連するオブジェクトがない場合、このメソッドが返されるとこのパラメータには NULL 値が含まれる。
- ppUnk
- [out] ストリーム固有のインターフェイスへのポインタのアドレス。
戻り値
インターフェイスの実装に応じた HRESULT 値を返す。現在の DirectShow の実装では、lIndex が範囲外の場合は S_FALSE を返し、それ以外の場合は S_OK を返す。
注意
各グループ内の先頭のストリームはデフォルトである。