使用 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 的法语字符。
我在 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 的法语字符。