C# - 以编程方式修改WMA扩展属性(可能使用NAudio)

时间:2014-11-14 20:23:14

标签: c# naudio wma

我需要以编程方式修改我拥有的几百个WMA文件的Title属性。

我一直在撞墙试图解决这个问题一段时间。有一些图书馆声称可以处理这个,但文档非常差。我已经下载了NAudio,并怀疑有一种方法可以处理我需要的东西,但是文档再次不足以完成任务。

有没有人对如何修改现有WMA文件的扩展属性有任何见解?

1 个答案:

答案 0 :(得分:0)

我在sourceforge上找到了一个项目,让我能够根据需要修改title属性。

该项目位于:http://professionaltag.sourceforge.net/

源代码示例是一个包含多个项目的解决方案。对我来说,我最终没有使用作者提供的UI,而是围绕相应的类推出了自己的UI。我需要的是" Tag"项目,特别是Tags.ASF.ASFTagInfo类。该类可以按原样使用,也可以在必要时进行剖析。我没有修改地使用它。

我在下面提供了用于修改曲目信息的方法。就我的目的而言,如果文件名的最后两个字符是数字,我只想修改曲目名称,但是对于你想做的任何改变,概念是相同的。

    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();
        }            
    }