我正在使用Visual Studio C#windows窗体编写一个简单的Windows媒体播放器程序。 在表单中我添加了一个wmp组件和一个列表框。列表框显示歌曲列表。当用户双击列表框中的某首歌曲时,wmp会毫无问题地播放该歌曲。但是当歌曲结束时,列表框选择的项目移动到下一首歌曲,并且也会调用列表框双击功能,但是wmp不会播放下一首歌曲。如何解决问题?
private void ListBoxDblClick(object sender, EventArgs e)
{
Player.URL = ListBoxDblClick.SelectedItem.ToString();
Player.Ctlcontrols.play();
}
private void Player_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
if (e.newState == 8)
{
if (ListBoxDblClick.SelectedIndex < ListBoxDblClick.Items.Count - 1)
{
ListBoxDblClick.SelectedIndex = ListBoxDblClick.SelectedIndex + 1;
}
else
if (ListBoxDblClick.SelectedIndex == ListBoxDblClick.Items.Count - 1)
{
ListBoxDblClick.SelectedIndex = 0;
}
ListBoxDblClick(sender, new EventArgs());
}
}
答案 0 :(得分:0)
我认为在Player_PlayStateChange事件中,如果newstate == 8,则无法播放新歌。我要解决的问题是我添加一个计时器,让时间一点一点地播放下一首歌。
感谢。