[ Nemanja Avramović @ 01.04.2005. 20:07 ] @
e ljudi, imam krsh mp3 pesama sa id3 tagovima, koje ne podnosim... e sad... nemam vremena da obelezim sve pesme u winampu pa da idem alt+3 pa da svaki tag iskljucujem jer imam preko 5000 pesama, a treba jos toliko da nabavim... pa me zanima kako u delphiju da napravim programche koje ce iskljuciti ID3 tagove...
imam neke komponente koje mogu da rade sa tagovima (edituju), ali:
1) ne znam da li mogu da izbrisu isti
2) zeleo bih sam to da odradim
[ IgLo @ 01.04.2005. 20:53 ] @
Malo je komplikovanije da bi ti neko objasnio ovako na forumu. Ako je u pitanju ID3v1, on je koliko se secam fiksne duzine i nalazi se na kraju fajla, tako da treba samo da "odseces malo sa kraja" Ali posto verovatno imas i ID3v2 tagove koji su ipak malo komplikovaniji za implementaciju, posto su varijabilne duzine i strukture, ja ti iskreno preporucujem neku komponentu (u jedi-u ima jedna koja je odlicna). A ako bas insistiras da pravis sam idi na http://www.id3.org/, skini specifikaciju i prouci. U svakom slucaju, ne vidim dobar razlog da ovako nesto pravis kada na net-u imas milion programa koji ovo rade.
[ Nemanja Avramović @ 01.04.2005. 23:27 ] @
kao npr. koji program?
[ IgLo @ 02.04.2005. 10:36 ] @
Probaj recimo MP3 Tag Studio http://www.magnusbrading.com/mp3ts, ja ga koristim vec godinama i prezadovoljan sam. Ima sve moguce opcije konvertovanja, pravljeja brisanja, filtriranja, formatiranja i ispravljanja greski u ID3 tagovima. Ako ti se to ne svidi probaj http://www.google.com/search?q...&lr=&start=10&sa=N nacices gomilu stvari
[ Peke @ 05.04.2005. 01:01 ] @
Pa da se malko ujkljucim u temu.

Je li tebi treba samo brisanje ID3-a iz MP3-jeva ili ???

Ako je samo brisanje ondak cu lako da ti to resim.

Evo ti kako da dobijes velicinu ID3v2 sa pocetka fajla
Code:

Type
  ID3v2TagHeader = record
    { Real structure of ID3v2 header Without Tag Fields}
    ID: array [1..3] of Char;                                  { Always "ID3" }
    Version: Byte;                                           { Version number }
    Revision: Byte;                                         { Revision number }
    Flags: Byte;                                               { Flags of tag }
    Size: array [1..4] of Byte;                   { Tag size excluding header }
    { Extended data }
    FileSize: Integer;                                    { File size (bytes) }
  end;

Implementation

function ID3v2Check(Filemethods:FileStreamMethods; fsa:TFileStreamAccess): Integer;
var
  Tag: ID3v2TagHeader;
begin
  Filemethods.StreamAccessSeek( fsa, 0, FILE_BEGIN);
  Filemethods.StreamAccessRead(fsa,@tag,10);
  Tag.FileSize := Filemethods.StreamAccessSeek( fsa, 0, FILE_END);
  Result :=
    Tag.Size[1] * $200000 +
    Tag.Size[2] * $4000 +
    Tag.Size[3] * $80 +
    Tag.Size[4] + 10;
  if Tag.Flags and $10 > 0 then Inc(Result, 10);
  if (Result > Tag.FileSize) OR (Tag.ID[1]+Tag.ID[2]+Tag.ID[3] <> 'ID3') then Result := 0;
end;


To su ti funkcije iz jednog mog programa za proveru postojanja ID3v2 Taga davno je to bilo nadam se da jos uvek radi.

ID3v1 tag ti se nalazi na 128 bajtova od kraja MP3 Fajla tako da ti je njega lako da nadjes.
[ Nemanja Avramović @ 05.04.2005. 01:07 ] @
hvala svima na pomoci!