如何在 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
我正在尝试像这样读取嵌入在 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