Окончание воспроизведения в WindowsMediaPlayer - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Столкнулся со следующей проблемой. В программе для отображения видео использую WindowsMediaPlayer. Требуется по окончанию воспроизведения заданного видео, выводить другое видео. Написал код:
using AxWMPLib;
using WMPLib;
private void Form1_Load(object sender, EventArgs e)
        {           
            flag_start = true;
            axWindowsMediaPlayer1.URL = film_dir + "Фильм_1.wmv";          
            axWindowsMediaPlayer1.Ctlcontrols.play();
}
private void axWindowsMediaPlayer1_PlayStateChange(object sender, _WMPOCXEvents_PlayStateChangeEvent e)
        {
            
          if ((axWindowsMediaPlayer1.playState==WMPPlayState.wmppsMediaEnded)&&(flag_start))
        
            {                                               
                flag_start = false;
            axWindowsMediaPlayer1.URL = film_dir + "Фильм_2.wmv";
            axWindowsMediaPlayer1.Ctlcontrols.play();
}
}
Но Фильм_2 не отображается. В чем проблема? Подскажите еще как реализовать следующее:
private void Sample()
{
axWindowsMediaPlayer1.Ctlcontrols.play(); //Запускаем видео
///Ждем пока видео не воспроизведено до конца
///Вот это почему-то не работает:   
 while (axWindowsMediaPlayer1.playState != WMPPlayState.wmppsMediaEnded)
                {
                }
///После окончания воспроизведения делаем действия
Действия
 
}

Решение задачи: «Окончание воспроизведения в WindowsMediaPlayer»

textual
Листинг программы
MessageBox.Show(e.newState.ToString());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5