LyricsTag

LyricsTag class

表示 Lyrics3 v2.00 元数据。 请在以下位置找到更多信息http://id3.org/Lyrics3v2.

public sealed class LyricsTag : CustomPackage

构造函数

姓名 描述
LyricsTag() 初始化一个新的实例LyricsTag类.

特性

姓名 描述
AdditionalInfo { get; set; } 获取或设置附加信息。 此值由 INF 字段表示。
Album { get; set; } 获取或设置专辑名称。 该值由 EAL 字段表示。
Artist { get; set; } 获取或设置艺术家姓名。 此值由 EAR 字段表示。
Author { get; set; } 获取或设置作者。 该值由 AUT 字段表示。
Count { get; } 获取元数据属性的数量。
Item { get; } 获取MetadataProperty具有指定名称.
Keys { get; } 获取元数据属性名称的集合。
Lyrics { get; set; } 获取或设置歌词。 该值由 LYR 字段表示。
MetadataType { get; } 获取元数据类型。
PropertyDescriptors { get; } 获取描述符集合,其中包含有关可通过 GroupDocs.Metadata 搜索引擎访问的属性的信息。
Track { get; set; } 获取或设置曲目标题。 该值由 ETT 字段表示。

方法

姓名 描述
AddProperties(Func<MetadataProperty, bool>, PropertyValue) 添加满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
Contains(string) 确定包是否包含具有指定名称的元数据属性。
virtual FindProperties(Func<MetadataProperty, bool>) 查找满足指定谓词的元数据属性。 搜索是递归的,因此它也会影响所有嵌套包。
Get(string) 获取指定id字段的值。
GetEnumerator() 返回一个遍历集合的枚举器。
Remove(string) 移除指定id的字段。
virtual RemoveProperties(Func<MetadataProperty, bool>) 删除满足指定谓词的元数据属性。
virtual Sanitize() 从包中删除可写元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
Set(LyricsField) 添加或替换指定的 Lyrics3 字段。
SetProperties(Func<MetadataProperty, bool>, PropertyValue) 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddPropertiesUpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。
ToList() 从包中创建一个列表。
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) 更新满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。

评论

Lyrics3 v2.00使用字段来表示信息。 字段中的数据可以由标准的01到254范围内的ASCII字符组成。 因为ASCII字符映射只定义了00到128 ISO-8859- 1 可以假设。数字字段的长度为 5 或 6 个字符,具体取决于位置,并用零填充。

了解更多

例子

此代码示例展示了如何从 MP3 文件中读取歌词标签。

using (Metadata metadata = new Metadata(Constants.MP3WithLyrics))
{
    var root = metadata.GetRootPackage<MP3RootPackage>();

    if (root.Lyrics3V2 != null)
    {
        Console.WriteLine(root.Lyrics3V2.Lyrics);
        Console.WriteLine(root.Lyrics3V2.Album);
        Console.WriteLine(root.Lyrics3V2.Artist);
        Console.WriteLine(root.Lyrics3V2.Track);

        // ...

        // 或者,您可以遍历完整的标签字段列表
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

也可以看看