ビデオを再生できるC#Windowsアプリケーションがあります。私は、WPF メディア要素、Windows メディア プレーヤーの ActiveX コンポーネント、および vLC の ActiveX コンポーネントの 3 つのオプションを使用しました。私のアプリケーションでは。これで、一度に 1 つのコンポーネントを使用してビデオを再生します。そのために、その特定のコンポーネントの 2 つのインスタンスを使用します。つまり、最初のビデオが最初のインスタンスで再生され、次に 2 番目のビデオが 2 番目のインスタンスで再生され、次に 3 番目のビデオが最初のインスタンスで再生され、4 番目のビデオが 2 番目のインスタンスで再生されます。プレイ時間は最短5秒~数時間。今、
数時間後に WPF メディア要素を使用すると、フォームが空白になり、アプリケーションがハングします (ログに記録する log4net があり、空白になるたびにログが停止します)。また、多くの記憶が必要な場合もあります。
WMP または VLC の activex com オブジェクトを使用すると、数時間後にアプリケーションが非応答モードになり、タスク マネージャーがそれを正しく表示します。これにはメモリの問題はありません。
上記の結果を確認した後、オブジェクトのターンが終了したらオブジェクトを破棄することにしました。したがって、各ビデオには、上記のコンポーネントの新しいインスタンスがあります。しかし、それでも同じ問題が発生していますか?