如何在C#中读写MP3文件的ID3标签?

38

有没有一个可以在C#中读写MP3的ID3标签的库?

我在搜索时看到了几个,有人使用过可以推荐的吗?


为了更新主题,您可以使用ID3.NET来进行.NET Core开发:https://github.com/jcoutch/id3-DotNetCore - Dariusz Woźniak
4个回答

42

Taglib#是最好的。它是将TagLib C库直接移植到C#的版本。

要安装TagLib#,请在Visual Studio的包管理器控制台中运行以下命令。

PM> Install-Package taglib

NuGet发行版的taglib-sharp可以在http://nuget.org/packages/taglib找到。
官方源代码存储库在https://github.com/mono/taglib-sharp

这里是一个使用该库的示例:

TagLib.File file = TagLib.File.Create("mysong.mp3");
String title = file.Tag.Title;
String album = file.Tag.Album;
String length = file.Properties.Duration.ToString();

1
+1 - 我在我的音乐应用中使用它。我完全没有遇到任何真正的库问题。 - ChrisF
2
我遇到了两个问题:https://bugzilla.gnome.org/show_bug.cgi?id=605765 https://bugzilla.gnome.org/show_bug.cgi?id=605780 但总体上我还是很满意的。 - pupeno
我也在我的一个项目中使用过这个库,从未遇到任何问题。 - Christian Casutt
2
死链 - 有人可以更新吗? - GreyCloud
4
可能我有点新手,但是我必须反对“是最好的”这个说法。TagLib#没有包含任何文档或方法注释来使用它,这在我看来与“是最好的”的说法相悖。用户怎么可能在没有帮助的情况下使用API呢?例如:一直试图将专辑艺术作为图像或BitmapImage获取到pictureBox上,但一直不成功。即使复制别人的代码也不起作用,因为tagLib的使用方法相当难以理解,也许只是我自己的问题。此外:没有办法找到关于如何自己以编程方式实现它的信息,以避免使用类似tagLib这样令人沮丧的封装类。 - user2225495

5

0

这里有一个SourceForge项目,专门用于此目的,并且似乎有一些好评:

http://csid3lib.sourceforge.net/

我只读过ID3标签,从未写过,所以我无法具体评论。不过,我相信这个项目(处于早期阶段)就是我用来做这件事的。


-1

或者这个项目已经死了... - vr_driver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接