Windows 7上的Taglib 1.8不像Windows XP那样正常工作



我使用Ming成功编译了taglib 1.8,然后将其集成到Qt项目中。目的是从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 中的一个错误,有意义吗?欢迎任何想法或解释,提前谢谢。

您可以在此处下载项目

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

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

有一个简单的解决方案,您无需从mp3文件中删除ID3标签即可使其被Phonon读取,您只需安装K-Lite编解码器即可。

解释:Phonon 后端使用 Windows 上的 DirectShow 来读取 mp3 文件。K-Lite编解码器包是DirectShow过滤器,VFW/ACM编解码器和工具的集合。编解码器和 DirectShow 筛选器用于编码和解码音频和视频格式。

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

我希望这将拯救那些在Windows上患有mp3文件的声子的人。

最新更新