0

ビデオを再生できるC#Windowsアプリケーションがあります。私は、WPF メディア要素、Windows メディア プレーヤーの ActiveX コンポーネント、および vLC の ActiveX コンポーネントの 3 つのオプションを使用しました。私のアプリケーションでは。これで、一度に 1 つのコンポーネントを使用してビデオを再生します。そのために、その特定のコンポーネントの 2 つのインスタンスを使用します。つまり、最初のビデオが最初のインスタンスで再生され、次に 2 番目のビデオが 2 番目のインスタンスで再生され、次に 3 番目のビデオが最初のインスタンスで再生され、4 番目のビデオが 2 番目のインスタンスで再生されます。プレイ時間は最短5秒~数時間。今、

  1. 数時間後に WPF メディア要素を使用すると、フォームが空白になり、アプリケーションがハングします (ログに記録する log4net があり、空白になるたびにログが停止します)。また、多くの記憶が必要な場合もあります。

  2. WMP または VLC の activex com オブジェクトを使用すると、数時間後にアプリケーションが非応答モードになり、タスク マネージャーがそれを正しく表示します。これにはメモリの問題はありません。

上記の結果を確認した後、オブジェクトのターンが終了したらオブジェクトを破棄することにしました。したがって、各ビデオには、上記のコンポーネントの新しいインスタンスがあります。しかし、それでも同じ問題が発生していますか?

4

1 に答える 1

1

私は VLC activex を使用しているあなたと同様のプロジェクトに取り組んでいます。私はあなたが説明しているのと同じ問題を経験しました。この問題を解決するために、GroupBox に VLC プラグインを追加し、Enabled プロパティを false に設定して GroupBox を無効にしました。それがあなたのために働くかどうか私に知らせてください。

于 2012-09-14T12:39:52.910 に答える