Я только что сделал звуковой проигрыватель qt, он может воспроизводить mp3 и другие типы аудио, но я хочу сделать его более полезным для чтения названия треков и, возможно, текста песни, в скором будущем. На данный момент приложение отображает только имя файла.
Какая библиотека должна быть реализована? Я нашел несколько библиотек, но они устарели и больше не поддерживаются
Есть несколько разных библиотек для чтения информации о звуковых файлах, вы можете попробовать id3lib
Код легко читается, если вы хорошо ладите с C ++:
#include <id3/tag.h>
Для начала вам необходимо знать, какую информацию может предоставить вам библиотека:
void ShowKnownFrameInfo() {
ID3_FrameInfo myFrameInfo;
for (int cur = ID3FID_NOFRAME+1; cur < myFrameInfo.MaxFrameID(); cur ++)
{
cout << "Short ID: " << myFrameInfo.ShortName(ID3_FrameID(cur)) <<
" Long ID: " << myFrameInfo.LongName(ID3_FrameID(cur)) <<
" Desription: " << myFrameInfo.Description(ID3_FrameID(cur)) << endl;
}
}
Используйте эту информацию в коде ниже, чтобы получить доступ к информации и использовать ее в любом месте
void readTags(const std::string& musicFile) {
ID3_Tag myTag(musicFile);
QScopedPtr<ID3_Tag::Iterator> iter(myTag.CreateIterator());
ID3_Frame* myFrame = NULL;
while (NULL != (myFrame = iter->GetNext()))
{
myFrame->Get("Key", 1024);
}
}
В Qt нет читателя ID3. Ты можешь попробовать Это.