无法以编程方式强制Windows媒体播放器播放下一首歌曲

时间:2013-08-17 13:05:30

标签: wmp

我正在使用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());
    }
}

1 个答案:

答案 0 :(得分:0)

我认为在Player_PlayStateChange事件中,如果newstate == 8,则无法播放新歌。我要解决的问题是我添加一个计时器,让时间一点一点地播放下一首歌。

感谢。