如何根据mp3中的相册分隔文件

时间:2014-06-11 04:08:30

标签: c#

我正在做一个媒体播放器项目,我需要一些帮助

我将所有* .mp3文件添加到列表框中,现在我想根据相册名称分隔文件。 我知道如何获得专辑名称

string songTitle = tagFile.Tag.Title;
string artist = tagFile.Tag.AlbumArtists.FirstOrDefault();
string albumTitle = tagFile.Tag.Album;
uint year = tagFile.Tag.Year;
string genre = tagFile.Tag.Genres.FirstOrDefault();

但如何按同名对它们进行分组 如果可能的话,如何获取文件的图像..

我们必须使用一些搜索方法吗??

请帮我解决这个问题..

2 个答案:

答案 0 :(得分:0)

假设您的列表是上面的tagFiles,请使用linq,如下所示:

SongList.GroupBy(t => t.Tag.Album);

答案 1 :(得分:0)

我同意Shahar的分组。 对于图片,我使用了以下代码:

IPicture newArt = new Picture(tmpImg);
tagFile.Tag.Pictures = new IPicture[1] {newArt};
tagFile.Save();

var file = TagLib.File.Create(filename);
if (file.Tag.Pictures.Length >= 1)
{
    var bin = (byte[])(file.Tag.Pictures[0].Data.Data);
    PreviewPictureBox.Image = Image.FromStream(new MemoryStream(bin)).GetThumbnailImage(100, 100, null, IntPtr.Zero);
}