Hallo Leute
Ich möchte zu einem Mediaelement, eine Label anzeigen wo der Status steht (lädt, läuft) jedoch funktioniert dies nicht optimal.
Also wenn ein Stream läuft also MediaElement.HasAudio = True, dann soll dies beim Status angezeigt werden
Bis jetzt habe ich eine Do-While-Schleife verwendet um den Status zu checken. Und um nach einer gewissen Zeit eine Fehlermeldung auszugeben.
Das Problem: manche Steams starten erst nach einigen Sekunden, weshalb ich eine Wartezeit eingebunden habe. Diese bewirkt jedoch das die Streams zum Teil weniger schnell starten.
Gäbe es da noch eine Bessere Möglichkeit ?
Danke für euer Hilfe
Ich möchte zu einem Mediaelement, eine Label anzeigen wo der Status steht (lädt, läuft) jedoch funktioniert dies nicht optimal.
Also wenn ein Stream läuft also MediaElement.HasAudio = True, dann soll dies beim Status angezeigt werden
Bis jetzt habe ich eine Do-While-Schleife verwendet um den Status zu checken. Und um nach einer gewissen Zeit eine Fehlermeldung auszugeben.
Das Problem: manche Steams starten erst nach einigen Sekunden, weshalb ich eine Wartezeit eingebunden habe. Diese bewirkt jedoch das die Streams zum Teil weniger schnell starten.
Gäbe es da noch eine Bessere Möglichkeit ?
Danke für euer Hilfe
VB.NET-Quellcode
- Private Sub prozedur_Streamstart()
- Try
- lblStatus.Content = "Status: "
- MediaElement1.Source = New Uri(strStream)
- MediaElement1.Play()
- Sleep(1500)
- Dim statuscheck As Integer = 0
- Do Until statuscheck > 100
- If MediaElement1.HasAudio = True Then
- lblStatus.Content = "Status: Stream läuft"
- Exit Do
- ElseIf MediaElement1.HasAudio = False And statuscheck = 100 Then
- MsgBox("Der Stream konnte nicht gestartet werden." & vbCrLf & "Bitte überprüfen Sie Ihre Internetverbindung!", vbOKOnly, "Fehler")
- Exit Do
- ElseIf MediaElement1.HasAudio = False Then
- lblStatus.Content = "Status: Stream lädt"
- Sleep(250) 'eine viertel sekunde
- End If
- statuscheck = statuscheck + 1
- Loop
- Catch ex As Exception
- MsgBox("Klicken Sie auf ein Stream", vbOKOnly, "Hinweis")
- End Try
- End Sub
- 'Zum Statuscheck benötigt
- Sub Sleep(ByVal sleeptime As Integer)
- Dim Stopw As New Stopwatch
- Stopw.Start()
- Do Until Stopw.ElapsedMilliseconds >= sleeptime
- System.Windows.Forms.Application.DoEvents()
- Loop
- Stopw.Stop()
- Stopw.Reset()
- End Sub
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „outlop“ ()