Windows медиаплеер VB.net - PullRequest
1 голос
/ 22 марта 2020

У меня есть WMP в моем проекте vb. net, и я хотел загрузить следующий носитель автоматически после того, как первый был закончен. Я провел небольшое исследование по googel и обнаружил простой для понимания код, как показано ниже.

      Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As System.Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange

If AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
            AxWindowsMediaPlayer1.URL = ("Test2.mp4")
            MessageBox.Show("Playing End")
        End If
End Sub

Однако я не могу заставить его автоматически воспроизводить следующее (Test2.mp4), если у меня нет всплывающего окна сообщения. Я обнаружил это чисто случайно. Однако я не хочу, чтобы окно сообщений появлялось каждый раз, когда новый файл Mp4 готов к воспроизведению. Кто-нибудь знает, что здесь происходит и как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 22 марта 2020
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim oTask01 As Threading.Thread
    oTask01 = New Threading.Thread(AddressOf oStarting01)
    oTask01.Start()

    Dim omessagebox As MessageBox = Nothing
    omessagebox.Show("Playing End", "", MessageBoxButtons.OK)
    oTask01.Abort()

End Sub
Private Function oStarting01() As Byte
    While True
        System.Windows.Forms.SendKeys.SendWait(vbCr)
    End While
    Return 0
End Function
End Class

Привет, попробуйте этот код. Оно работает. Более глубокое погружение в систему и подсистемы Windows - задача не из легких, по крайней мере, для меня. Я надеюсь, что вы получите то, что искали для своего программного обеспечения. Большое спасибо. Удачной кодировки! :)

0 голосов
/ 22 марта 2020
Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As 
     System.Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) 
         Handles AxWindowsMediaPlayer1.PlayStateChange

     If AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
         AxWindowsMediaPlayer1.URL = ("Test2.mp4")
        'MessageBox.Show("Playing End") 'This line was commented because is not neccesary in  this fragment of code
    End If
End Sub

Привет, если я вас хорошо понял, вы хотели закрыть окно сообщения. Получается делать строку комментария с "'". Надеюсь, вам понравится и продолжайте наслаждаться компьютерами и программным обеспечением. Большое спасибо и счастливого кодирования. :)

...