C#媒体播放器(WMP)自动下一首歌曲

时间:2013-10-29 23:49:52

标签: c# wmp axwindowsmediaplayer

我需要播放器自动转到listBox中的下一首歌并播放它,但它不会播放。我有它到下一首歌的地方,但是当它改变时它不会开始播放。以下是代码片段:

if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
{
    if (listBox1.SelectedIndex != listBox1.Items.Count - 1)
    {
        listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
    }
}

我对“Next”和“Previous”按钮使用相同的方法,它完美地工作。

我也试过这个:

if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
{
    listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
    axWindowsMediaPlayer1.Ctlcontrols.play();
}

它转到下一首歌,但如前所述,只是不播放。

我怎样才能玩它?

1 个答案:

答案 0 :(得分:2)

您可以使用PlayStateChange事件处理程序:

 private void WindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
if (e.newState == 1)
        {
            if (listBox1.SelectedIndex != listBox1.Items.Count - 1)
            {
                BeginInvoke(new Action(() => {
                    listBox1.SelectedIndex = listBox1.SelectedIndex + 1
                }));
            }
        }
    }