我想在我的播放器中自动播放下一首歌。我使用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
有什么解决方案吗?
答案 0 :(得分:2)
看看documentation for PlayStateChange
。它给你一个明确的例子。
而不是使用您拥有的内容,只需使用此事件分配:
axWindowsMediaPlayer1.PlayStateChange +=
new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer1_PlayStateChange);