Taglib在保存时重命名文件

时间:2017-09-21 14:37:07

标签: c++11 taglib-sharp

我试图编写一个程序让我修改mp3文件的标签,为此我使用Taglib和c ++ 11。 我知道如何更改文件的标签,但我不确定在保存文件时如何(或者甚至)我可以重命名该文件。

我们说我有以下代码:

TagLib::FileRef f("Vivaldi - La Primavera.mp3");
f.tag()->setTitle("La Primavera");
f.save();

这会将mp3文件的标题标签(不是文件名)更改为" La Primavera"保持其他一切不变。 在f.save()仅被调用" La Primavera"之后是否有办法获得新文件?仅使用Taglib还是我必须再次读取文件并将其重命名? 我已经阅读过Taglib的文档,但似乎无法找到有关此事的任何内容。

1 个答案:

答案 0 :(得分:0)

TagLib sharp不是管理文件系统的工具。它用于读取和写入媒体文件(音频和视频)中的各种元数据。

要重命名文件,只需使用常规方法复制和删除文件。

打开原始文件,编辑元数据,释放文件句柄,复制到新文件名,最后删除原始文件。