次の方法で共有


IVMRImagePresenter::P resentImage メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

メソッドは PresentImage 、このビデオ フレームが表示される瞬間に正確に呼び出されます。

構文

HRESULT PresentImage(
  [in] DWORD_PTR           dwUserID,
  [in] VMRPRESENTATIONINFO *lpPresInfo
);

パラメーター

[in] dwUserID

Allocator-Presenter の 1 つのインスタンスで VMR の複数のインスタンスが使用されているシナリオで、VMR のこのインスタンスを一意に識別するアプリケーション定義のDWORD_PTR。 「解説」を参照してください

[in] lpPresInfo

VMRPRESENTATIONINFO 構造体を指定します。

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合はエラー コードを返します。

解説

PresentImage は、フィルターが実行中または一時停止状態のときに呼び出すことができます。 StartPresentingStopPresenting は、実行中の状態でのみ呼び出すことができます。 そのため、グラフが実行される前に一時停止されている場合は、 PresentImageStartPresenting の前に が呼び出されます。

アプリケーションでは、1 つのフィルター グラフまたは複数のフィルター グラフで VMR の複数のインスタンスを持つ Allocator-Presenter の 1 つのインスタンスを使用して、カスタム ブレンド効果を作成できます。 この方法でアロケーター 発表者を使用すると、アプリケーションは異なるフィルター グラフからのストリームをブレンドしたり、同じフィルター グラフ内のさまざまなストリームをブレンドしたりできます。 VMR の 1 つのインスタンスを使用している場合は、この値を 0 に設定します。

要件

要件
サポートされている最小のクライアント WINDOWS XP と SP1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IVMRImagePresenter インターフェイス

ビデオ ミキシング レンダラーの使用