どっとねっとふぁん

C# Tips And Samples
in 検索

WindowsMediaPlayerの使用時に、OutOfMemory例外が発生してしまいます。

最新の投稿は、投稿日時: 07-12-2006, 11:31 午前 投稿者: ono です。スレッドには 1 件の返答があります。
投稿のソート: 前へ 次へ
  •  07-11-2006, 7:01 午後 740

    WindowsMediaPlayerの使用時に、OutOfMemory例外が発生してしまいます。

    Windowsアプリケーションのフォームに、
    http://www.gotdotnet.com/japan/student/column/firststep/firststep6.aspx
    にあるように、WindowsMediaPlayerのCOMコンポーネントを貼り付けました。

    そして、以下のようにコーディングすることで、音声ファイルの連続再生を
    させています。


    ---以下を、タイマーで1秒ごとに呼び出す)

    WMPLib.WMPPlayState state = axWindowsMediaPlayer.playState;
    if(state.Equals(WMPLib.WMPPlayState.wmppsUndefined)
    || state.Equals(WMPLib.WMPPlayState.wmppsStopped)
    || state.Equals(WMPLib.WMPPlayState.wmppsReady)
    ) {
    axWindowsMediaPlayer.URL = (音声ファイルのパス)
    }

    ---ここまで


    再生中ファイルの再生が終わってから、次の曲の再生が始まるのですが、
    何十曲か再生しているうちに、OutOfMemory例外が発生してしまいます。

    再生開始の度に
    System.GC.GetTotalMemory(false)
    の値が少しずつ増えていきます。

    曲の再生を始める前に、毎回
    System.GC.Collect();
    を実行していますが、メモリは解放されていないようです。


    OutOfMemoryを発生させない方法をご教授願えませんでしょうか。
  •  07-12-2006, 11:31 午前 741 返答元: 740

    Re: WindowsMediaPlayerの使用時に、OutOfMemory例外が発生してしまいます。

    このあたり詳しくないんですよねぇ。。。
    MediaPlayerはCOMコンポーネントなんで、COM側でメモリリークが起きてるんでしょうか。
    マネージド側のGCでは制御できない部分となると、そちらが考えられますが。

    うーん、どうすればいいんでしょうね。
    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems