【问题标题】:cannot programmatically force windows media player play next song无法以编程方式强制 Windows 媒体播放器播放下一首歌曲
【发布时间】:2013-08-17 13:05:29
【问题描述】:

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

【问题讨论】:

    标签: wmp


    【解决方案1】:

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

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2013-01-14
      • 1970-01-01
      相关资源
      最近更新 更多