0

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

1 回答 1

0

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

谢谢。

于 2013-08-18T00:27:46.823 回答