AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi id3 Tags setzten funktioniert nur bedingt...
Thema durchsuchen
Ansicht
Themen-Optionen

id3 Tags setzten funktioniert nur bedingt...

Offene Frage von "hibbert"
Ein Thema von hibbert · begonnen am 17. Nov 2006 · letzter Beitrag vom 18. Nov 2006
Antwort Antwort
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#1

id3 Tags setzten funktioniert nur bedingt...

  Alt 17. Nov 2006, 17:14
hi,
ich bin gerade dabei mir ein kleines Tool zur MP3 Verwaltung zu schreiben und dabei möchte ich gerne die ID3 Tags setzten. Dafür habe ich mir folgende kleine Procedur zurecht geschnippelt:
Delphi-Quellcode:
procedure SaveMP3File(AFile, ATitle, AArtist, AAlbum, AGenre,AYear,ATrack: String);
var
  MyId3v1Tag: TID3v1Tag;
  MyId3v2Tag: TID3v2Tag;
begin

  MyId3v1Tag := TID3v1Tag.Create;
  if form1.CheckBox2.Checked then MyId3v2Tag := TID3v2Tag.Create;

  try
     form1.Lblv1Artist.Text:=AArtist;
     form1.Lblv1Titel.Text:=ATitle;

    if form1.CheckBox2.Checked then
    begin
      MyId3v2Tag.Title := ATitle;
      MyId3v2Tag.Artist := AArtist;
      MyId3v2Tag.Album := AAlbum;
      MyId3v2Tag.Genre := AGenre;
      MyId3v2Tag.Year := AYear;
      MyId3v2tag.Track := ATrack;
      MyId3v2Tag.Comment := form1.Lblv1Comment.Text;
    end;

    MyId3v1Tag.Title := ATitle;
    MyId3v1Tag.Artist := AArtist;
    MyId3v1Tag.Album := AAlbum;
    MyId3v1Tag.Genre := AGenre;
    MyId3v1Tag.Year := AYear;
    MyId3v1tag.Track := ATrack;
    MyId3v1Tag.Comment := form1.Lblv1Comment.Text;

    // schreibgeschütze MP3 werden so ebenfalls geändert, weil der schreibschutz aufgehoben wird
    if (FileGetAttr(aFile) and faReadOnly) > 0 then FileSetAttr(afile, FileGetAttr(afile) xor faReadOnly);

    MyId3v1Tag.WriteToFile(aFile);
    if form1.CheckBox2.Checked then MyId3v2Tag.WriteToFile(aFile);

  finally
    if form1.CheckBox2.Checked then MyId3v2Tag.free;
    MyId3v1Tag.free;
  end;
end;
Nun habe ich folgendes Problem:
Einige MP3-Dateien haben bereits ID3 Tags. Doch nicht bei allen MP3-Dateien werden die Tags geupdatet. Höchstens wenn ich den ID3v2Tag verwende, aber das dauert mir teilw. echt zu lange bzw da passiert genau das gleiche...

Dazu kommt noch, dass der Kommentar nicht übernommen wird.

Auch wenn ich vorher die ID3Tags entferne MyId3v2Tag.RemoveFromFile(AFile); bleibt das Ergebnis das gleiche, nur teilw. ersetzungen...

Meine Fragen nun:
• Wie kann ich wirklich alle MP3 Dateien updaten?
• Wie bekomme ich es hin, dass auch der Kommentar mit übernommen wird?

Vielen dank.

MfG Hibbert
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: id3 Tags setzten funktioniert nur bedingt...

  Alt 17. Nov 2006, 19:26
[quote="hibbertEinige MP3-Dateien haben bereits ID3 Tags. Doch nicht bei allen MP3-Dateien werden die Tags geupdatet. Höchstens wenn ich den ID3v2Tag verwende, aber das dauert mir teilw. echt zu lange bzw da passiert genau das gleiche...[/quote]

Wie erkennst du dies, dass die Tags nicht geupdatet werden? Winamp und andere Player ignorieren beispielsweise den ID3v1.x Tag, wenn es einen ID3v2 Tag gibt, da dieser längere und genauere Informationen zulässt.

Ansonsten sollte diese Lib und ihrem Easy Interface gleiches bieten.
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#3

Re: id3 Tags setzten funktioniert nur bedingt...

  Alt 17. Nov 2006, 23:28
Zitat von Muetze1:
Wie erkennst du dies, dass die Tags nicht geupdatet werden?
rechtsklick > eigenschaften....
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: id3 Tags setzten funktioniert nur bedingt...

  Alt 17. Nov 2006, 23:31
Zitat von hibbert:
Zitat von Muetze1:
Wie erkennst du dies, dass die Tags nicht geupdatet werden?
rechtsklick > eigenschaften....
Da wird bei mir so oder so nichts angezeigt. Dies muss eine Explorer-Erweiterung sein von einem installierten Programm. Nun ist die Frage: zeigt er vllt. auch wiederrum nur die ID3v2 Tags an, wenn vorhanden und nur wenn nicht die ID3v1 Tags?
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#5

Re: id3 Tags setzten funktioniert nur bedingt...

  Alt 18. Nov 2006, 13:44
hi,
auch wenn ich die ID3v2 Tags update werden keine Kommentare geschrieben
Der Rest wird aber geupdated dauert aber sehr lange, also wesentlich länger als die ID3v1 Tags...

hibbert
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: id3 Tags setzten funktioniert nur bedingt...

  Alt 18. Nov 2006, 19:43
Zitat von hibbert:
Der Rest wird aber geupdated dauert aber sehr lange, also wesentlich länger als die ID3v1 Tags...
Was logisch ist, schliesslich sind die ID3v1 Tags hinten in der Datei und die ID3v2 Tags ganz vorne. Wenn die grösser werden, muss die gesamte Datei umkopiert werden.

Schonmal meine oben verlinkte Lib ausprobiert mit dem Easy Interface? Dieses offeriert dir genauo den selben Funktionsrumpf wie du ihn oben geschrieben hattest.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz