如何在Windows应用商店C#中阅读mp3文件的Beats-per-minute标签?

时间:2016-05-08 14:47:18

标签: c# windows-store-apps mp3 id3-tag

我正在尝试读取嵌入在mp3文件中的bpm,如下所示:

bpm tag im trying to read

我尝试过使用

Windows.Storage.FileProperties.MusicProperties

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

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

1 个答案:

答案 0 :(得分:2)

当您将音乐文件加载到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