如何在C#中获取*.mp3文件的属性

18

我正在编写一个带有歌曲库的小型媒体播放器。 现在,我需要获取mp3、wma文件的属性,例如艺术家名称或歌曲时长。

获取这些信息的最佳方法是什么?

2个回答

27

你可以查看mp3的ID3标签。为此,taglib-sharp库非常适合使用。源代码可用 (在这里)。示例代码:

TagLib.File tagFile = TagLib.File.Create(pathtofile);
string artist = tagFile.Tag.FirstAlbumArtist;
string album = tagFile.Tag.Album;
string title = tagFile.Tag.Title;
...

不确定 tag-lib 是否支持 .wma 格式... 不过,如果需要的话,可以将 Tag-lib 移植到 Silverlight。


我已经下载了这个ID3库,并将其添加到我的项目中。 - Waren
但是它说找不到AssemblyInfo.cs和*.snk文件。我该怎么解决这个问题?无论如何,这个库非常有效且易于使用。谢谢你的提示。 - Waren
如何获取 MP3 文件的长度?我使用以下代码:string lengh = tagFile.Length.ToString(); 但是它返回零。??? - osman Rahimi
1
Waren,如果你删除了snk文件,那么打开AssemblyInfo.cs文件并删除这两行代码:[assembly:AssemblyDelaySign(false)] [assembly:AssemblyKeyFile("taglib-sharp.snk")]。当然,这是尊重原作者的前提下,只是为了学习而非牟利。祝玩得愉快。 - PHenry

4
使用ID3库。快速搜索得到:csid3lib

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