0

IVMRWindowlessControl9ie WindowlessControlw/を使用してビデオを再生していVMR-9ます。最初にビデオのセットアップに苦労したとき、オンラインで見つかった多くの例で、ウィンドウのペイント ハンドラーに次のコードが含まれていることに気付きました。

IntPtr hdc = e.Graphics.GetHdc();
int hr = 0;
hr = windowlessCtrl.RepaintVideo(this.Handle, hdc);
e.Graphics.ReleaseHdc(hdc);

私のビデオは正しく再生されていますが、上記のコードがありません。上記のコードは何をするもので、それを使用する意味はありますか?

4

2 に答える 2

1

ほとんどの場合、ビデオ レンダラーが自動的に再描画するため、明示的に再描画する必要はありません。WM_PAINTはい、ホスティング ウィンドウがウィンドウ メッセージ ハンドラーの一部など、何らかの理由で強制的な再表示を要求する必要がある場合は、このRepaintVideoメソッドが役に立ちます。

MSDN、 VMR ウィンドウレス モードの詳細を参照してください。

再生中、アプリケーションは次の Windows メッセージを VMR に通知する必要があります。

WM_PAINT: IVMRWindowlessControl::RepaintVideo を呼び出して、画像を再描画します。

于 2013-04-14T22:39:37.440 に答える