C# - Изменить расширенные свойства WMA программно (возможно, с помощью NAudio)
Мне нужно программно изменить свойство Title пары сотен файлов WMA, которые у меня есть.
Я бился головой о стену, пытаясь справиться с этим некоторое время. Есть несколько библиотек, которые утверждают, что могут справиться с этим, но документация крайне скудная. Я скачал NAudio и подозреваю, что есть способ справиться с тем, что мне нужно, но опять-таки документация крайне не соответствует задаче.
У кого-нибудь есть понимание того, как изменить расширенные свойства существующего файла WMA?
1 ответ
Я нашел проект на sourceforge, который позволил мне изменить свойство title по мере необходимости.
Проект находится здесь: http://professionaltag.sourceforge.net/
Пример исходного кода представляет собой решение с несколькими проектами. Что касается меня, я не стал использовать пользовательский интерфейс, предоставленный автором, и развернул свой собственный вокруг соответствующих классов. Что мне было нужно, так это в проекте "Tag", в частности в классе Tags.ASF.ASFTagInfo. Класс может быть использован как есть, или рассечен при необходимости. Я использовал его без изменений.
Ниже я предлагаю метод, который я использую для изменения информации о треке. Для моих целей я хочу изменить название дорожки только в том случае, если последние 2 символа имени файла являются цифрами, но концепция одинакова для любых изменений, которые вы хотите внести.
private void ModifyTrackInfo(string PathToWMA)
{
// "Last()" is an extension method on string defined elsewhere in project
// it simply get the to get the specified number of trailing characters of a string
string last2String = System.IO.Path.GetFileNameWithoutExtension(PathToWMA).Last(2);
int last2Int;
if (int.TryParse(last2String, out last2Int))
{
Tags.ASF.ASFTagInfo tagInfo = new Tags.ASF.ASFTagInfo(PathToWMA, true);
tagInfo.ContentDescription.Title = string.Format("Track {0}", last2String);
tagInfo.Save();
}
}