Я пытаюсь использовать 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
Но я получаю ответ, что у него нет тега. Но это имеет !!!
И это не единственное событие. Интересно, действительно ли работает эта библиотека?
Возможно, кто-то имел опыт работы с этой библиотекой.
Более того, я запутался, потому что есть ссылки на официальная страница к рабочим проектам, поэтому было доказано, что библиотека может работать правильно.
Заранее спасибо за любые советы.
id3lib больше не поддерживается и довольно устарел, так как не поддерживает ID3v2.4.
Вы можете легко увидеть это с hexdump -C -n4 your.mp3
:
00000000 49 44 33 03 |ID3.|
00000004
Если mp3-файл начинается с ID3, а 4-й байт — 03, он будет работать с id3lib. Если есть 04, он использует ID3v2.4.
Других решений пока нет …