C#Media Player PlayStateChange不触发

时间:2019-01-24 15:22:30

标签: c# wmplib

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

        }
    }

1 个答案:

答案 0 :(得分:0)

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

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

效果很好。再次感谢。