2013-10-29 75 views
1

我需要播放器自动转到列表框中的下一首歌曲并播放它,但它不会播放。我把它放在下一首歌的位置,但是当它改变时它不会开始播放。下面是代码片段:C#媒体播放器(WMP)自动下一首歌曲

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(); 
} 

它进入到下一首歌曲,但如前所述,只要不玩。

我怎样才能玩它?

+0

我已经解决了这个问题。 – jermy9999

+2

你怎么解决它,我面临同样的问题 – QViet

回答

1

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