Delphi World - Как извлечь ID3 теги и информацию в заголовках MPEG из MP3 файлов
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как извлечь ID3 теги и информацию в заголовках MPEG из MP3 файлов

Автор: Андрей Сорокин
WEB-сайт: http://anso.da.ru

- Папа, а что такое ноты?
- Понимаешь, сынок, это такой MIDI-файл, только на бумаге...

Предположим, Вам необходимо поместить список заголовков и времени звучания всех Ваших MP3 файлов, содержащихся в определённой директории .

Разместите на форме TEdit для имени каталога и TListBox для содержимого директории и вызовите:


ScanMP3Folder(Edit1.Text, ListBox1.Items); 

Вам потребуются компоненты TAudioInfo , и  TDirectoryScanner


procedure ScanMP3Folder (const AFolder : string; AMP3List : TStrings);
var
  ds : TDirectoryScanner;
  a : TAudioInfo;
  Descr : string;
  i : integer;
begin
  ds := TDirectoryScanner.Create;
  a := TAudioInfo.Create;
  try
    ds.Recursive := True;
    ds.RegExprMask := '\.mp[23]';
    ds.BuildFileList (AFolder);
    for i := 0 to ds.Count - 1 do
    begin
      a.LoadFromFile (ds.Item [i].name);
      if a.ID3.Ok then
        Descr := a.ID3.Artist + ' - ' + a.ID3.Title
      else
        Descr := ExtractFileName (ds.Item [i].name);
      Descr := Descr + Format (' (%d sec)', [a.MpegDuration div 1000]);
      AMP3List.Add (Descr);
    end;
  finally
    begin
      a.Free;
      ds.Free;
    end;
  end;
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования