1

试图让 WMPLib 在当前曲目结束时转到下一曲目。我的代码在下面,但它永远不会触发。我已经尝试过 WMPLib.WMPPlayState.wmppsStopped 以及 WMPLib.WMPPlayState.wmppsMediaEnded 并且它永远不会触发。有人看到我做错了什么吗?媒体播放器是文件。

提前致谢。

private void mediaPlayer_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
        MessageBox.Show("Playstate Has Fired");
        if (mediaPlayer.playState == WMPLib.WMPPlayState.wmppsStopped)  // check if file has ended.
        {
            try
            {
                listFiles.SelectedIndex++;
            }
            catch (Exception)
            {
                if (chkLoop.Checked)
                {
                    listFiles.SelectedIndex = 0;
                }
                else
                {
                    afile.controls.stop();
                }
            }

        }
    }
4

1 回答 1

1

谢谢,我通过使用 timer_tick 事件解决了这个问题,并将其添加到其中:

if (afile.playState == WMPLib.WMPPlayState.wmppsStopped)
        {
            listFiles.SelectedIndex++;
        }

效果很好。再次感谢。

于 2019-01-24T16:23:26.950 回答