我正在尝试读取嵌入在mp3文件中的bpm,如下所示:
我尝试过使用
Windows.Storage.FileProperties.MusicProperties
但它只包含标题,歌手等 它无法读取我之前显示的bpm。
我正在调查https://taglib.github.io/他们似乎也没有这样的功能。 这有什么解决方法吗?
答案 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