C # Media Player PlayStateChange не стреляет - PullRequest
0 голосов
/ 24 января 2019

Попытка заставить 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 голосов
/ 24 января 2019

Спасибо, я понял это, используя событие timer_tick и добавив к нему следующее:

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

Отлично работает.Еще раз спасибо.

...