我正在做一个mediaplayer项目,我需要一些帮助
我将所有的*.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();但是如何将它们按相同的名称分组,如果可能的话,如何获得文件的图像。
我们一定要用搜索的方法吗..?
请帮我解决这个..。
发布于 2014-06-11 04:23:21
假设您的列表是上面的tagFiles,请使用linq,如下所示:
SongList.GroupBy(t => t.Tag.Album);发布于 2014-06-11 04:28:35
我同意沙哈尔关于分组的看法。对于图片,我使用了以下代码:
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);
}https://stackoverflow.com/questions/24154487
复制相似问题