如何在 windows store apps C# 中读取 mp3 文件的 Beats-per-minute 标签?

How to read Beats-per-minute tag of mp3 file in windows store apps C#?

我正在尝试像这样读取嵌入在 mp3 文件中的 bpm:

我试过使用

Windows.Storage.FileProperties.MusicProperties

但只包含歌名、歌手等。 它无法读取我之前显示的 bpm。

我正在调查 https://taglib.github.io/ 他们似乎也没有这样的功能。 有什么解决方法吗?

将音乐文件加载到 StorageFile 后,您需要在代码中进行类似的调用,如下所示:

var fileProps = await file.Properties.RetrievePropertiesAsync(null);

这将为您提供公开为 Dictionary<string, object> 的所有系统属性的列表。

然后您可以得到BPM值如下:

if (fileProps.ContainsKey("System.Music.BeatsPerMinute"))
{
    var bpmObj = fileProps["System.Music.BeatsPerMinute"];
    if (bpmObj != null)
    {
        var bpm = bpmObj.ToString();
    }
}

您可以在此处找到可用文件属性的完整列表:https://msdn.microsoft.com/en-us/library/windows/desktop/dd561977(v=vs.85).aspx