Получение MP3 тэгаDelphi , Мультимедиа , АудиоПолучение MP3 тэга
Автор: Victor { **** 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; Статья Получение MP3 тэга раздела Мультимедиа Аудио может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |