Microsoft MediaPlayer内存泄漏winforms

时间:2014-01-16 23:06:10

标签: c# winforms media-player

你好,当我在循环播放视频时,越来越多的内存不断被吞噬。当我尝试处理MediaPlayer控件时,只释放了一些内存。

我的程序需要播放数百/数千个音频,但这会导致我的程序越来越大,速度越来越慢。

有什么想法吗?

    private void button10_Click(object sender, EventArgs e)
    {       
        addTimer.Tick += addTimer_Tick;
        addTimer.Interval = 1000;
        addTimer.Start();
    }

    void addTimer_Tick(object sender, EventArgs e)
    {
        //axWindowsMediaPlayer1.URL = @"c:\temp\Catching.avi";

        if (this.axWindowsMediaPlayer1.currentMedia != null)
        {
            this.axWindowsMediaPlayer1.Ctlcontrols.stop();
            this.axWindowsMediaPlayer1.currentPlaylist.clear();
        }

        WMPLib.IWMPMedia currentMedia = this.axWindowsMediaPlayer1.newMedia(@"c:\temp\Catching.avi");
        this.axWindowsMediaPlayer1.currentMedia = currentMedia; 
    }

    private void button11_Click(object sender, EventArgs e)
    {
        this.Controls.RemoveByKey("wmp");
        axWindowsMediaPlayer1.close();
        axWindowsMediaPlayer1.Dispose();
        GC.Collect();
    }

0 个答案:

没有答案