Coverbild des ID3-Tags auslesen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Lindi666.

    Das Bild steht im ID3v2, im APIC Frame.
    Den kannst du auslesen, dann hast du ne Bildbeschreibung, die Bilddaten und den MIME.
    Anhand vom MIME kannst du das Bildformat bestimmen, und das dann entweder
    auf die Festplatte schreiben, ums von dort in eine PictureBox zu laden,
    oder zu zeigst es halt direkt aus dem Speicher an.

    Irgendwo gibts bestimmt ne Klasse, um das zu lesen. Codeproject oder ähnliches.
    Stichwort ID3v2.
    Hey Danke für die Tipps :)

    @ Dodo

    Auf die UltraID3 Lib bin auch schon gestoßen. Mit ihr schaff ichs jedes noch so winzige Detail auszulesen, jedoch
    nicht das Bild bzw. den APIC-Frame. Die einzige Funktion die ich entdeckt hab, die irgendwas mit dem Coverbild zu tun hat,
    ist folgende:

    VB.NET-Quellcode

    1. Dim IR As New UltraID3Lib.UltraID3()
    2. IR.Read("C:\...\test.mp3")
    3. Dim PF As UltraID3Lib.ID3v22PictureFrame = IR.ID3v2Tag.Frames().GetFrame(UltraID3Lib.ID3v22FrameTypes.Picture, False) 'Beim letzten Parameter hab ich auch bereits True und Nothing probiert...
    4. Dim cover_ As Bitmap = PF.Picture


    Leider gibt die Funktion keine Bitmap zurück...

    EDIT:

    Das Stichwort "APIC" hat mir weitergeholfen :)
    Mit dieser Lib klappt das Auslesen des Bildes ohne Probleme:

    VB.NET-Quellcode

    1. Imports ID3TagLib

    VB.NET-Quellcode

    1. Friend Function AlbumCover(ByVal FileName As String) As Image
    2. Dim mp3 As New ID3File(FileName)
    3. Dim pic As PictureFrame = mp3.ID3v2Tag.Frames(FrameFactory.AttachedPictureFrameId)
    4. Return pic.Picture
    5. End Function

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lindi666“ () aus folgendem Grund: Lösung gefunden