2012-10-15 100 views
0

我使用Mingw成功编译taglib 1.8,然后将其集成到Qt项目中。 该purpuse是从MP3文件中删除ID3标签。Windows 7上的Taglib 1.8无法正常工作,比如Windows XP

此代码:

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工程,我会写一份英文,如果有兴趣的人。

回答

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文件的人。

相关问题