Реализовать повторное воспроизведение видео

vaniak1

Доброго дня! На форме кнопка, при нажатии на которую необходимо воспроизвести видео на весь экран и затем по окончании просто закрыть видео-окно и показать форму обратно. Реализовал через WindowsMediaPlayer, в настройках указал Полноэкранный вид, счетчик воспроизведения=1, режим None Запуск реализован через:
        AxWindowsMediaPlayer1.URL = Application.StartupPath & "\avi" & k & ".avi"
        AxWindowsMediaPlayer1.Ctlcontrols.play()
В итоге - при первом нажатии всё работает. Потом видео закончилось, само закрылось и при последующих нажатиях заново не запускается. Как исправить и сделать возможность повторного запуска? Через таймер? Но как получить длительность видео? В форуме не нашел, искал долго. Может кто сталкивался уже? Спасибо.
8 ответов

vaniak1

vaniak1, попробуй при каждом нажатии объявлять плеер как новый экземпляр, а старый удаляй, стало быть в юзинг его оберни.


vaniak1

Не подскажете в конкретном коде? Спасибо


vaniak1

vaniak1,
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim wmPlayer As New WindowsMediaPlayer
        wmPlayer.URL = "путь до файла\sound.wav"
    End Sub


vaniak1

 
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
 
        Dim wmPlayer As New AxWMPLib.AxWindowsMediaPlayer
      
        wmPlayer.URL = Application.StartupPath & "\avi" & k & ".avi"
        wmPlayer.Ctlcontrols.play()
    End Sub
При попытке запуска на строке, где URL: Необработанное исключение типа "System.Windows.Forms.AxHost.InvalidActiveXStateException" в AxInterop.WMPLib.dll


vaniak1

vaniak1, что такое AxWindowsMediaPlayer? Ax откуда это?Мой пример для WindowsMediaPlayer Что такое AxWindowsMediaPlayer я честно говоря не знаю.


vaniak1

Делаю так: Открываю свой проект, далее сверху в меню выбираю "Сервис" - "Выбрать элементы панели элементов...", далее выбираю вкладку "COM" там ставлю галочку на элементе "Windows Media Player" в панели элементов у меня появляется Windows Media Player, кидаю его на форму...


vaniak1

wmPlayer.URL = Application.StartupPath & "\avi" & k & ".avi"
здесь наверное после "\avi" еще один слэш нужен? тиоесть так -> "\avi\"


vaniak1

Не знаю, почему не скопировалось в прошлый раз. Код такой:
        wmPlayer.URL = Application.StartupPath & "\avi" & k & ".avi"
Он и не работаетПочему-то форум выбрасывает второй слэш, который перед кавычками за словом avi. В программе он стоит.Всё-таки "добил" и реализовал через
Dim wmPlayer As New WMPLib.WindowsMediaPlayer
         wmPlayer.URL = Application.StartupPath & "\avi" & k & ".avi"
        wmPlayer.controls.play()
Однако фокус не удался и теперь программа хоть и не ругается, но и не запускает ничего.В-итоге на настоящий момент самое рабочее получается
        AxWindowsMediaPlayer1.URL = Application.StartupPath & "\avi" & k & ".avi"
        AxWindowsMediaPlayer1.Ctlcontrols.play()
но после первого воспроизведения обратно еще раз не запустить