Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#媒体播放器(WMP)自动下一首歌_C#_Wmp_Axwindowsmediaplayer - Fatal编程技术网

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

C#媒体播放器(WMP)自动下一首歌,c#,wmp,axwindowsmediaplayer,C#,Wmp,Axwindowsmediaplayer,我需要播放自动转到列表框中的下一首歌曲并播放,但它不会播放。我把它放在下一首歌的地方,但当它改变时,它不会开始播放。以下是代码片段: if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded) { if (listBox1.SelectedIndex != listBox1.Items.Count - 1) { listBox1.SelectedIndex = listBo

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

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();
}
它会转到下一首歌,但如前所述,它不会播放


如何让它播放?

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

我已经解决了这个问题。你怎么解决呢杰米,我也面临同样的问题