Как прочитать метки ударов в минуту mp3-файла в приложениях магазина Windows C#?
Я пытаюсь прочитать bpm, встроенный в mp3-файл, как этот:
я пытался использовать
Windows.Storage.FileProperties.MusicProperties
но он содержит только название, певца и т. д., он не может прочитать bpm, который я показывал раньше.
я смотрю в https://taglib.github.io/ они, похоже, тоже не имеют такой функции. есть ли обходной путь к этому?
1 ответ
Когда вы загрузили свой музыкальный файл в 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