![]() |
![]() ![]() ![]() ![]() |
|
Получение MP3 тэгаDelphi , Мультимедиа , Аудио
Автор: Victor
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Функция получает 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;
Код, который вы предоставили, - это функция Delphi, которая извлекает тег ID3v1 из файла MP3. Это полезная инструмент для тех, кто нуждается в чтении метаданных из файлов MP3. Вот разбивка кода:
Пример использования в конце показывает, как использовать функцию Вот некоторые предложения по улучшению кода:
В целом, код хорошо структурирован и легко читаем. С некоторыми дополнительными улучшениями он может стать еще более эффективным инструментом для работы с файлами MP3 в Delphi. Функция GetMP3Tag получает ID3v1-тэг из указанного mp3-файла и возвращает информацию о файле в виде структуры TMP3Tag. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||