Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
Speaker [7]
Аудио [51]
Видео [11]
Джойстик [2]
Запись звука [5]
Микрофон [3]

Наш опрос
Оцените мой сайт
Всего ответов: 30

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Статьи » Мультимедиа » Аудио

Получение MP3 тэга
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение MP3 тэга

Функция получает ID3v1 тэг из указанного mp3-файла.

Зависимости: uses System :)
Автор: Victor, zazoo@ukr.net, ICQ:149676405, Киев
Copyright: Собственное написание
Дата: 06 мая 2002 г.
***************************************************** }


type
TMP3Tag = record
FileName, Title, Artist, Album, Year, Comment: string;
end;

function GetMP3Tag(fn: string): TMP3Tag;
var
tag: array[0..127] of char;
f: file;
i: byte;
s: string;

procedure DelSpace(var s: string);
begin // Удаляет пробелы и символы
// #0 в конце строки.
if length(s) = 0 then
exit;
while s[length(s)] in [' ', #0] do
begin
delete(s, length(s), 1);
if s = '' then
break;
end;
end;

begin
result.FileName := fn;
result.Title := '';
result.Artist := '';
result.Album := '';
result.Year := '';
result.Comment := '';

AssignFile(F, fn); // Открываем файл
{$I-} // с проверкой его существования :)
Reset(F, 1);
Seek(F, FileSize(F) - 128); // Читаем тэг - последние 128 байт
BlockRead(f, tag, 128);
CloseFile(F);
{$I+}

if IOResult <> 0 then
begin
exit;
end;

s := '';
for i := 0 to 127 do
s := s + tag[i];

if copy(s, 1, 3) = 'TAG' then // В файле есть тэг - разбираем его
begin
result.Title := copy(s, 4, 30);
DelSpace(result.title);
result.Artist := copy(s, 34, 30);
DelSpace(result.artist);
result.Album := copy(s, 64, 30);
DelSpace(result.album);
result.Year := copy(s, 94, 4);
DelSpace(result.year);
result.Comment := copy(s, 98, 30);
DelSpace(result.comment);
end;
end;

Пример использования:

var
Tag: TMP3Tag;
begin
if OpenDialog1.Execute then
Tag := GetMP3Tag(OpenDialog1.FileName);
end;
Категория: Аудио | Добавил: Skinner (07.07.2008)
Просмотров: 657 | Рейтинг: 0.0/0
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2025 Хостинг от uCoz