Windows 7上的Taglib 1.8无法像Windows XP一样正常工作

时间:2012-10-15 00:12:33

标签: qt taglib

我使用Mingw成功编译了taglib 1.8,然后将其集成到Qt项目中。 purpuse是从mp3文件中删除ID3标签。

此代码:

void MainWindow::removeTagFromFile(QByteArray &fileContent)
{
    TagLib::ByteVector byteVector(fileContent.constData());
    TagLib::ID3v2::FrameFactory *frame = TagLib::ID3v2::FrameFactory::instance();
    TagLib::IOStream *vectorStream = new TagLib::ByteVectorStream(byteVector);
    TagLib::MPEG::File file(vectorStream, frame);
    file.strip();
    file.save();
}

在XP上编译并正常工作。 在Windows 7上编译并无法正常工作。 将“在XP上编译的.exe”改为7并不能解决问题。

有点奇怪吗?我担心这是Taglib的一个错误,它有意义吗? 任何想法或解释都是受欢迎的, 提前谢谢。

您可以下载项目here

我正在用法语撰写关于编译和集成到Qt项目中的详细信息的教程,如果有兴趣的人,我会用英语写一个。

1 个答案:

答案 0 :(得分:0)

好吧,最后这不是XP或Seven的问题,而是关于计算机上安装的编解码器。

有一个简单的解决方案,你不需要从mp3文件中删除ID3标签以使它们被Phonon读取,你只需要安装K-Lite编解码器。

说明: Phonon后端在Windows上使用DirectShow来读取mp3文件。 K-Lite Codec Pack是DirectShow过滤器,VFW / ACM编解码器和工具的集合。编码和解码音频和视频格式需要编解码器和DirectShow过滤器。

安装K-Lite解决了一些mp3文件的Phonon问题。

我希望这能拯救那些在Windows上遭受带有mp3文件的声子的人。