我在c ++中使用taglib来改变mp3文件中的元数据。我写了一个很好的代码。但是我找到了一个无法用taglib打开的MP3文件。
MP3文件有标签。我可以通过Vlc媒体播放器和MediaInfo以及explorer.exe看到它们。
我尝试这个最小代码,但它说该文件无效。
TagLib::FileRef filer("file.mp3");
if(filer.isNull())
cout <<"null";
或此代码:
TagLib::MPEG::File fileMpeg("file.mp3");
if(!fileMpeg.isValid())
{
cout << "file not valid";
}
其他文件有效但不是那个。 谢谢你的帮助。
答案 0 :(得分:0)
我发现问题,问题不是来自文件,而是来自文件名或目录。
要解决这个问题,我需要cont wchar_t*
而不是const char*
,因为我尝试打开的文件包含ISO或unicode编码的法语字符,但不包含ASCII。