Теги извлечения id3lib

Я пытаюсь использовать ID3lib из C++. Я протестировал около 50 mp3-файлов и чаще всего получаю ответ, что файлы не имеют тегов. Но на самом деле они есть (я проверяю это с помощью другого программного обеспечения, и он показывает их правильно)

На самом деле я ничего не сделал, я только связал библиотеку и скопировал пример из официальной документации

 void next_try()
 {
  ID3_Tag tag;
  tag.Link("file.mp3");
  cout<<"success\n";
  cout<<tag.GetFileSize()<<"\n";

   ID3_Frame *frame;
    if ( frame = tag.Find ( ID3FID_TITLE ) )
      {
       char title[ 1024 ];
       frame->Field ( ID3FN_TEXT ).Get ( title, 1024 );
       cout << "Title: " << title << endl;
      }
    else
     cout<<"not found\n";
 }

И файл с тегами http://zalil.ru/33733757

Но я получаю ответ, что у него нет тега. Но это имеет!!! И это не единственное событие. Интересно, действительно ли эта библиотека работает?

Возможно, кто-то имел опыт работы с этой библиотекой. Более того, я запутался, потому что на официальной странице есть ссылки на рабочие проекты, поэтому было доказано, что библиотека может работать должным образом.
Заранее спасибо за любые советы.

1 ответ

Решение

id3lib больше не поддерживается и довольно устарел, так как не поддерживает ID3v2.4.

Вы можете легко увидеть это с hexdump -C -n4 your.mp3:

00000000 49 44 33 03 |ID3.| 00000004

Если mp3-файл начинается с ID3, а 4-й байт - 03, он будет работать с id3lib. Если есть 04, он использует ID3v2.4.

Другие вопросы по тегам