windows media player 10 sdk中有个c#使用windows media player com组件的范例。程序功能大致是将一个media player组件放置在一个Form中,可以做一些简单的操作,如播放,停止等。大致代码如下:一个成员变量
private AxWMPLib.AxWindowsMediaPlayer Player;它在这里初始化
public Form1()
{
InitializeComponent();
        Player.URL = "mms://nc.sina.com.cn/ent/200401061.wmv";
}private void InitializeComponent()
{
  ...
  this.Player = new AxWMPLib.AxWindowsMediaPlayer();
}
如上,我指定Player的URL为一个流媒体文件,以便窗体显示后播放。这是dispose方法
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
components.Dispose();
}
}
base.Dispose( disposing );
}现在的问题是base.Dispose( disposing );这句语句会执行很久,大概7-8秒钟的样子,这造成了窗口关闭时应用程序当了的假象。
有谁知道为什么会这句语句需要这么长时间执行。是不是由于用到了com组件的原因?会不会有内存泄漏?怎么解决这个问题?