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

本文关键字:一首 媒体播放器 WMP | 更新日期: 2023-09-27 18:37:27

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

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

我对"下一个"和"上一个"按钮使用相同的方法,它工作得很好。

我也试过这个:

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

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

我怎样才能让它玩?

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

您可以使用 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
                }));
            }
        }
    }