使用 taglib(c++) 的 Mp3 文件为空

Mp3 file is null using taglib(c++)

我在 C++ 中使用 taglib 来更改 mp3 文件的元数据。我写了一个很好用的代码。但是我发现一个MP3文件无法用taglib打开。

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";
}

其他文件有效,但那个不行。 感谢您的帮助。

我发现了问题,问题不是出在文件上,而是出在文件名或目录上。 为了解决这个问题,我使用 cont wchar_t* 而不是 const char*,因为我试图打开的文件包含来自 ISO 或 unicode 编码的法语字符,而不是来自 ASCII 的法语字符。