-1

あなたが電話をかけた場合、何がシナリオを引き起こす可能性があるかについて、誰にも洞察がありますか

mediaControl.Run();

これが呼び出されるまで、実際にビデオのレンダリングを開始しないこと

MessageBox.Show("");

getstate が実行中であることを返したときでも、メディアが実行されていない理由を理解できませんでした。実行中であることを確認した HRESULT を返すまでは、メッセージ ボックスが表示されているときにのみウィンドウにビデオが表示されます。

奇妙なことに、メッセージボックスを閉じるとレンダリングが一時停止します...しかし、5 秒後にもう一度呼び出すと、引き続き機能します。

さらに...メッセージボックスを閉じて、その直後にスレッドを無期限にスリープさせる連続ループがある場合、レンダリングが続行されます。

メッセージボックスが重要な理由を理解しようとして、一日中頭を悩ませてきました...しかし、最終的には、メッセージボックスを表示できません。

ランダムなアイデアも役に立ちます...ありがとう。

乾杯。

4

1 に答える 1

1

MessageBox.Show() が行う主なことは、メッセージ ループを実行することです。シミュレートされたものに置き換えることができる場合があります(この回答DoEvents()を参照してください)

しかし、これを取り巻くコードにはおそらく深刻な問題があります。

于 2012-09-24T20:01:28.480 に答える