AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cover in WMP Format

Ein Thema von EWeiss · begonnen am 31. Mär 2018 · letzter Beitrag vom 15. Apr 2018
 
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
905 Beiträge
 
Delphi 12 Athens
 
#28

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:54
Laut dem Tag-Projekt, das du eben verlinkt hast, sind CollectionID und CollectionGroupID relevant. Die sind beide identisch und 16 Byte lang in der Datei, die du mir geschickt hast.

Dieser Code (basierend auf dem Mini-Tool aus der ersten Mail) schreibt eine zufällige ID in die Datei und konvertiert dabei die Basis-Infos zu Version 2.3 (Wichtig: Dabei können Infos verloren gehen. Zumindest sollte man die anderen Standard-Infos auch kopieren). Damit sollte dann auch die Chris-Datei, die du mir zuerst geschickt hast, vom WMP verstanden werden. Ob die zufällige ID dann reicht, oder ob doch irgendwo das Bild liegen muss .... keine Ahnung.


Delphi-Quellcode:
Procedure SetCoverpic;
var
  MP3Tags, v23Tag: TId3v2Tag;
  PicData: TMemorystream;
  GUID: TMemorystream;
  i: Integer;
  b: Byte;
begin
   MP3Tags:= TId3v2Tag.Create;
   v23Tag := TId3v2Tag.Create;
   PicData:= TMemoryStream.Create;
   GUID := TMemorystream.Create;
   try
     If (MP3Tags.ReadFromFile(mp3File) = MP3ERR_None) Then
     begin
       Picdata.LoadFromFile(Picfile);

       // basic converting
       v23Tag.Artist := MP3Tags.Artist;
       v23Tag.Album := MP3Tags.Album;
       v23Tag.Title := MP3Tags.Title;

       for i := 1 to 16 do
       begin
          b := Random(255);
          GUID.Write(b, 1);
       end;

       v23Tag.SetPrivateFrame('WM/WMCollectionID', GUID);
       v23Tag.SetPrivateFrame('WM/WMCollectionGroupID', GUID);

       v23Tag.SetPicture('image/jpeg', 0, '*', PicData);
       v23Tag.WriteToFile(mp3file);

     end;
   finally
     FreeAndNIL(MP3Tags);
     FreeAndNIl(PicData);
     FreeAndNIl(GUID);

     FreeAndNIl(v23Tag);
   end;
end;
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz