如何获得mp3曲目的持续时间?

Mat*_*tey 3 c# audio windows-phone-8.1

我想问一下如何在app中获取我的音频文件的长度.

我正在加载这样的曲目

var installFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;

var resourcesFolder = await installFolder.GetFolderAsync("Resources");
var mp3FilesFolder = await resourcesFolder.GetFolderAsync("mp3Files");

var audioFile = await mp3FilesFolder.GetFileAsync("sound.mp3");
var stream = await audioFile.OpenAsync(Windows.Storage.FileAccessMode.Read);

mediaplayer.SetSource(stream, audioFile.ContentType);
mediaplayer.Play();
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获得赛道的持续时间?

Rom*_*asz 8

有两种方法可以获得曲目的持续时间:

   var audioFile = await mp3FilesFolder.GetFileAsync("sound.mp3");
   MusicProperties properties = await audioFile.Properties.GetMusicPropertiesAsync();
   TimeSpan myTrackDuration = properties.Duration;
Run Code Online (Sandbox Code Playgroud)
  • 第二个选项是从MediaElementBackgroundMediaPlayer获取其NaturalDuration