
10.11.2007, 07:04
|
 |
Активный
|
|
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
|
|
Код:
//Чтение твоего ID3v2 тега
function ReadID3v2Tag(const FName: string; var Tag: TCustomTag): boolean;
var
TI: TID3v2Info;
s: array[1..ID3V2_FRAME_COUNT] of string;
i: integer;
begin
FillChar(Tag, SizeOf(Tag), #0); // очищаем структуру
Result := ReadID3v2Header(FName, TI); // читаем заголовок
if (Result) and (TI.ID = ′ID3′) then // тег?
begin
ReadID3v2Frames(FName, TI); // читаем фреймы
for i := 1 to ID3V2_FRAME_COUNT do // убираем лишние нули
s := TrimRight(TI.Frame); // в конце строк
Move(s[1][1], Tag.Title[1], Length(s[1])); // копируем в Tag
Move(s[2][1], Tag.Artist[1], Length(s[2]));
Move(s[3][1], Tag.Album[1], Length(s[3]));
Tag.Track := GetTrack(s[4]); // получаем дорожку
Move(s[5][1], Tag.Year[1], Length(s[5]));
Tag.Genre := GenreIndex(GetGenre(s[6])); // жанр
s[7] := Trim(Copy(s[7], 5, Length(s[7]) - 4));
Move(s[7][1], Tag.Comment[1], Length(s[7]));
end;
end;
__________________
Программирование - это искусство и наш смысл жизни.
|