代码改变世界

WPF 显示 mp3 专辑图片

2018-09-14 15:52 by h82258652, ... 阅读, ... 评论, 收藏, 编辑

mp3 专辑图片是属于 mp3 的 tag 的一部分,安装 taglib# 的 nuget 安装包到项目。这里使用

TagLib.Portable https://www.nuget.org/packages/TagLib.Portable/1.0.4

编写代码:

var fileInfo = new FileInfo(filePath);
using (var fileStream = fileInfo.Open(FileMode.Open))
{
    var tagFile = TagLib.File.Create(new StreamFileAbstraction(fileInfo.Name, fileStream, fileStream));
    var tags = tagFile.GetTag(TagTypes.Id3v2);

    if (tags.Pictures.Length > 0)
    {
        var picture = tags.Pictures[0];
        var memoryStream = new MemoryStream(picture.Data.Data);
        var bitmapImage = new BitmapImage();
        bitmapImage.BeginInit();
        bitmapImage.StreamSource = memoryStream;
        bitmapImage.EndInit();
        Image.Source = bitmapImage;
    }
}

需要注意的是不一定有专辑图片,特别比较老旧的 mp3 文件。