IAMStreamControl インターフェイス (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
インターフェイスは IAMStreamControl
、フィルター上の個々のストリームを制御します。 一部のフィルターのピンはこのインターフェイスを公開します。 たとえば、 AVI Mux Filter は入力ピンでこのインターフェイスをサポートし、 オーディオ キャプチャ フィルター と WDM ビデオ キャプチャ フィルター は出力ピンでサポートします。
このインターフェイスを使用すると、アプリケーションは、指定した時刻にストリームのオンとオフを切り替えられます。 たとえば、アプリケーションでオーディオ ストリームをオフにして、ビデオ プレビュー中にオーディオをミュートする場合があります。 キャプチャ アプリケーションでは、このインターフェイスを使用して、キャプチャの正確な開始時刻と停止時間を指定したり、互いに独立してキャプチャ ストリームとプレビュー ストリームを制御したりできます。
このインターフェイスを使用するには、 IAMStreamControl::StartAt メソッドを呼び出して、ピンがデータの配信を開始するタイミングを指定し、 IAMStreamControl::StopAt メソッドを呼び出してデータの配信を停止するタイミングを指定します。 次に、フィルター グラフ マネージャーで IMediaControl::Run を呼び出して、フィルター グラフを実行します。 すべての時間は、グラフの実行を開始するタイミングを基準とします。
このインターフェイスを使用する場合は、次の制限事項に注意してください。
- フィルター グラフには参照クロックが必要です。
- ハードウェア オーバーレイを使用したキャプチャ カードのプレビュー ピンでは、このインターフェイスはサポートされていません。
- オーディオとビデオをインターリーブされた AVI ファイルにキャプチャする場合、AVI Mux フィルターには両方のストリームのデータが必要です。 1 つのストリームを停止した場合、フィルターはデータをインターリーブできません。 詳細については、「 IConfigInterleaving インターフェイス」を参照してください。
フィルター開発者: CBaseStreamControl 基本クラスは、このインターフェイスを実装します。
継承
IAMStreamControl インターフェイスは、IUnknown インターフェイスから継承されます。 IAMStreamControl には、次の種類のメンバーもあります。
メソッド
IAMStreamControl インターフェイスには、次のメソッドがあります。
IAMStreamControl::GetInfo GetInfo メソッドは、開始時刻と停止時刻など、現在のストリーム制御設定に関する情報を取得します。 |
IAMStreamControl::StartAt StartAt メソッドは、データの配信を開始するタイミングをピンに通知します。 |
IAMStreamControl::StopAt StopAt メソッドは、データの配信を停止するタイミングをピンに通知します。 |
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |