Taglib从任意文件c++; 我试图使用TAGLIB C++ API从任意音频文件读取ID3V2元数据。此文件不一定是.mp3文件,也可能是其他常见的音频格式。我有以下资料: std::string readId3v2Tag(std::string文件路径,std::string标记名){ //从文件中读取 TagLib::FileRef f(filePath.c_str()); 如果(!f.isNull()&&f.file()){ //从属性映射获取标记 TagLib::PropertyMap tags=f.file()->properties(); if(tags.find(tag)!=tags.end()){ 返回std::string(tags[tag][0].toCString()); } } }
但是,当我输入ID3v2帧名称时,它不会返回任何内容。我相信这是因为Taglib从任意文件c++; 我试图使用TAGLIB C++ API从任意音频文件读取ID3V2元数据。此文件不一定是.mp3文件,也可能是其他常见的音频格式。我有以下资料: std::string readId3v2Tag(std::string文件路径,std::string标记名){ //从文件中读取 TagLib::FileRef f(filePath.c_str()); 如果(!f.isNull()&&f.file()){ //从属性映射获取标记 TagLib::PropertyMap tags=f.file()->properties(); if(tags.find(tag)!=tags.end()){ 返回std::string(tags[tag][0].toCString()); } } },c++,audio,metadata,taglib,id3v2,C++,Audio,Metadata,Taglib,Id3v2,但是,当我输入ID3v2帧名称时,它不会返回任何内容。我相信这是因为f.file()->properties()map包含TagLib的标记格式。我必须能够通过名称访问ID3v2帧 我被告知要使用ID3v2类,但是我不知道如何从文件中访问它,并且在读取API文档时遇到了问题。有人知道怎么做吗?始终阅读手册:不要使用文件()方法。另外,properties()不会给您ID3v2标记帧-您应该迭代所有帧以查看它们的键和值 反而 使用MPEG::File(请参阅),然后继续阅读 超过ID3v2Tag
f.file()->properties()
map包含TagLib的标记格式。我必须能够通过名称访问ID3v2帧
我被告知要使用ID3v2
类,但是我不知道如何从文件中访问它,并且在读取API文档时遇到了问题。有人知道怎么做吗?始终阅读手册:不要使用文件()
方法。另外,properties()
不会给您ID3v2标记帧-您应该迭代所有帧以查看它们的键和值
反而
- 使用
(请参阅),然后继续阅读MPEG::File
- 超过
(请参阅)ID3v2Tag()
- 到
(请参阅)框架列表()
properties()
不会给您ID3v2标记帧-您应该迭代所有帧以查看它们的键和值
反而
- 使用
(请参阅),然后继续阅读MPEG::File
- 超过
(请参阅)ID3v2Tag()
- 到
(请参阅)框架列表()