MP3 ID3阅读封面艺术:只能阅读嵌入式

时间:2016-09-19 09:14:10

标签: c# mp3 id3 winamp

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

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

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

到目前为止,我只找到了另外一个获得这些图像的编译应用程序,但我无法找到他们是如何做到的。 谁知道我做错了什么? (我正在使用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;
}

0 个答案:

没有答案