@Maekkelrajter
Habe aus deinem Schnipsel mal schnell eine Anwendung geschrieben..
Aber..
Nemp genauso wie dein Schnipsel zerstören den Tag wenn ich ein Cover addieren.
Mal so neben bei
Es wundert mich also wie das bei dir funktionieren kann.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mp3FileUtils, StdCtrls;
const picfile = '
Folder.jpg';
const mp3file = '
10. Chris De Burgh - The Traveller.mp3';
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Procedure SetCoverpic;
var
MP3Tags: TId3v2Tag;
PicData: TMemorystream;
begin
MP3Tags:= TId3v2Tag.Create;
PicData:= TMemoryStream.Create;
try
If (MP3Tags.ReadFromFile(mp3File) = MP3ERR_None)
Then
begin
Picdata.LoadFromFile(Picfile);
MP3Tags.SetPicture('
image/jpeg', 0, '
*', PicData);
MP3Tags.WriteToFile(mp3file);
end;
finally
FreeAndNIL(MP3Tags);
FreeAndNIl(PicData);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetCoverpic;
end;
end.
@Kodezwerg.
http://id3.org/id3v2.3.0
siehe private Frames..
Hier gibt es ein Programm mit dem man die Privaten Frames entfernen kann.
http://invertedsky.net/?s=desiccate
Aber nach dem entfernen werden die Covers nicht mehr angezeigt.
Also es hat definitiv mit den Privaten Frames zu tun.
Nur wie kommt man daran und kann sie Addieren wenn nötig das Problem ist man weis nicht was dort abgelegt wurde.
So ein kleines Tool das die Daten vor einem Tag setzen könnte wäre nicht schlecht
Aber ohne nähere Infos wird das wohl nicht gehen.
EDIT:
Also das konnte ich schon mal identifizieren..
Zitat:
PRIV WM/MediaClassSecondaryID
PRIV WM/MediaClassPrimaryID
PRIV WM/WMContentID
PRIV WM/WMCollectionID
PRIV WM/WMCollectionGroupID
PRIV WM/UniqueFileIdentifier ;
TALB Hit Giganten-Cabrio Hits Disc 1
TPE2 Various Artists
TCON Alternative Musik
TPE1 Aventura
gruss