MediaElementを使用してビデオを再生しています。今、私はそれを再生する前に合計の時間を取得したい。どのように可能ですか?UWPのMediaElementを使用してビデオの合計時間を取得する方法
FileOpenPicker openPicker = new FileOpenPicker();
foreach (string extension in FileExtensions.Video)
{
openPicker.FileTypeFilter.Add(extension);
}
StorageFile file = await openPicker.PickSingleFileAsync();
// mediaPlayer is a MediaElement defined in XAML
if (file != null)
{
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
videoMediaElement.SetSource(stream, file.ContentType);
var totalDurationTime = videoMediaElement.NaturalDuration.TimeSpan.TotalSeconds;//get value zero
var totalDurationTime1 = TimeSpan.FromSeconds(videoMediaElement.NaturalDuration.TimeSpan.TotalSeconds);//get zero
videoMediaElement.Play();
}
MediaOpenedイベントを待ってから、ファイルがロードされた後に長さを確認する必要があるかもしれません。少なくともライブストリームの場合、[0]以外の値は、[ここ](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.mediaelement#Windows_UI_Xaml_Controls_MediaElement_MediaOpened)によると、設定したので、ローカルファイルの場合、そのイベントの後に長さを設定する必要があります – Hannes