0

我已经尝试了我能找到的每个库,并且几天来一直在搜索 StackOverflow 和谷歌,但没有让它工作。库:UltraID3Lib、TagLib、IdSharp、Perry Butler 的 ID3 标签库、ID3Lib、C# ID3 库、ID3.Net、......

这些似乎都无法获得 winamp 显示文件具有的封面艺术。包含 mp3 的文件夹中也没有封面艺术或 jpg 或任何类似的东西。

只有嵌入式封面艺术出现在每个图书馆中,而其他的则没有。打开winamp mp3“文件信息”时,如果“来源”显示“嵌入”,它会显示在每个库中,但如果它显示来源“文件夹”,那么似乎只有winamp知道它。请注意,任何文件夹中都没有图像,mp3 本身确实包含此图像。

到目前为止,我只找到了 1 个获取这些图像的其他编译应用程序,但我无法找出他们是如何做到的。有人知道我在做什么错吗?(我正在使用 TagLib atm:https ://github.com/mono/taglib-sharp )

    public Song(string filePath)
    {
        var id3 = TagLib.File.Create(filePath);
        TrackNumber = (Winamp.PlaylistPosition + 1);
        Artist = id3.Tag.FirstArtist;
        Title = id3.Tag.Title;
        Position = Winamp.GetTrackPosition();
        Length = Winamp.GetTrackLength();
        AlbumArt = LoadPicture(id3);
        Status = Winamp.GetPlaybackStatus();
    }

private Bitmap LoadPicture(TagLib.File file) 
{ 
    Image currentImage = null; 
    if (file.Tag.Pictures.Length > 0) 
    { 
        TagLib.IPicture pic = file.Tag.Pictures[0]; 
        MemoryStream ms = new MemoryStream(pic.Data.Data); 
        if (ms.Length > 0) 
            currentImage = Image.FromStream(ms); 
            ms.Close(); 
    } 

    return (Bitmap)currentImage;
}
4

0 回答 0