axWindowsMediaPlayer1_PlayStateChange事件无效

时间:2013-03-08 10:30:41

标签: c# axwindowsmediaplayer

我想在我的播放器中自动播放下一首歌。我使用windows media player对象 这是我的代码。

 private void timer2_Tick(object sender, EventArgs e)
    {
        if (songList.SelectedIndex < files.Length - 1)
        {
            songList.SelectedIndex++;
            timer2.Enabled = false;
        }
        else
        {
            songList.SelectedIndex = 0;
            timer2.Enabled = false;
        }            

    }

    private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
        if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
        {
            timer2.Interval = 100;
            timer2.Enabled = true;
        }

    }

但它不起作用我已经检查了它正在运行的计时器代码,但我认为axWindowsMediaPlayer1_PlayStateChange事件不起作用,而且当我为axWindowsMediaPlayer编写此行时设计器代码

 this.axWindowsMediaPlayer1.PlayStateChange += new System.EventHandler(this.axWindowsMediaPlayer1_PlayStateChange);  

它显示此错误:

  

axWindowsMediaPlayer1_PlayStateChange没有重载匹配委托System.EventHandler

有什么解决方案吗?

1 个答案:

答案 0 :(得分:2)

看看documentation for PlayStateChange。它给你一个明确的例子。

而不是使用您拥有的内容,只需使用此事件分配:

axWindowsMediaPlayer1.PlayStateChange +=
      new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer1_PlayStateChange);