多くのmp3ファイルを見てmediaElementを使ってnaturalDurationプロパティを取得するループを作成する必要があります。問題は、mediaElementがすべての単一のファイルをロードするのに時間が必要で、.sourceプロパティがasyncプロセスのように動作することです(私は思う)。なぜなら、naturalDurationプロパティを取得する場合、以下のコードを2回クリックする必要があるからです。私はちょうど00:00:00の値を持っている最初のクリック、2番目のクリックは私に本当の価値を与えます。media要素にnaturalDuration情報があるまで待ちます
.Source命令を待つと、アプリケーションはループを続けます。
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
私も非同期プロセスを通じて.SOURCE設定とmediaOpenendイベントを待ちますが、最初のクリックが
を終了するまでmediaElementoのように見える、それは私がnaturalDurationの真の価値を得ることができるどのように終了することはできません試してみますファイルを再生せずに.sourceプロパティを設定した直後に、単一のプロセスまたは関数の内部にある? ありがとうございました!