我需要播放器自动转到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();
}
它转到下一首歌,但如前所述,只是不播放。
我怎样才能玩它?
答案 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
}));
}
}
}