Ich muss eine Schleife erstellen, um viele mp3-Dateien anzusehen und ihre naturalDuration-Eigenschaft mit einem mediaElement zu erhalten. Das Problem ist, dass mediaElement einige Zeit braucht, um jede einzelne Datei zu laden und die Eigenschaft .source funktioniert wie ein asynchroner Prozess (glaube ich), weil ich zweimal auf den unteren Code klicken muss, um die Eigenschaft naturalDuration zu erhalten. Erstes Klicken Ich habe nur 00:00:00 Wert, zweites Clik gib mir echten Wert.Warten Sie, bis das Medienelement über eine NaturalDuration-Information verfügt
Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
mediaElement.Source = New Uri("\\Mac\Home\Desktop\NOVEDADES01\AbrahamMateo-OldSchool.mp3")
textBlock.Text = mediaElement.NaturalDuration.ToString
End Sub
Wenn ich versuche, nach .Source-Anweisung zu warten, hält die Anwendung auf Schleife.
Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
mediaElement.Source = New Uri("\\Mac\Home\Desktop\NOVEDADES01\AbrahamMateo-OldSchool.mp3")
Do
Loop Until mediaElement.NaturalDuration.TimeSpan.TotalSeconds > 0
textBlock.Text = mediaElement.NaturalDuration.ToString
End Sub
Ich habe auch .source durch einen Asynchron-Prozess und warte mediaOpenend Ereignis, aber es kann bis zum ersten Klick
endet nicht am Ende aussehen wie mediaElemento gesetzt versuchen, wie ich realen Wert der NaturalDuration bekommen könnte innerhalb eines einzelnen Prozesses oder einer Funktion direkt nach dem Festlegen der Eigenschaft .source und ohne die Datei abzuspielen? Vielen Dank !!