0

見つけたすべてのライブラリを試してみましたが、StackOverflow と Google を何日も検索しても機能しませんでした。ライブラリ: UltraID3Lib、TagLib、IdSharp、Perry Butler による ID3 タグ ライブラリ、ID3Lib、C# ID3 ライブラリ、ID3.Net、... ...

これらのどれも、winamp がファイルに表示するカバー アートを取得できないようです。mp3 を含むフォルダにもカバー アートや jpg などはありません。

すべてのライブラリに埋め込まれたカバー アートのみが表示されますが、他のライブラリは表示されません。winamp mp3 の「ファイル情報」を開くと、「origin」が「embedded」と表示されている場合はすべてのライブラリに表示されますが、origin「folder」が表示されている場合は 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