我使用taglib-sharp(版本2.1.0)删除了ID3标签的所有图片:
tagFile.Tag.Pictures = new TagLib.IPicture[0];
tagFile.Save();
如果我用taglib-sharp再次读取文件,则没有更多图片。这没关系,但文件大小保持不变。
如果我使用mp3tag(http://www.mp3tag.de)之类的工具删除了picutre,则文件大小会减少。
有没有人知道如何用taglib-sharp减小文件大小?
提前致谢。
雷
答案 0 :(得分:2)
因为SepehrM要求我发布我的代码作为答案:
TagLib.Tag tempTag = null;
TagLib.File tagFile = TagLib.File.Create(file);
tempTag = new TagLib.Id3v2.Tag();
tagFile.Tag.CopyTo(tempTag,true);
tagFile.RemoveTags(TagLib.TagTypes.AllTags);
tagFile.Save();
tagFile.Dispose();
TagLib.File tagFile2 = TagLib.File.Create(file);
tempTag.CopyTo(tagFile2.Tag, true);
tagFile2.Save();
tagFile2.Dispose();
答案 1 :(得分:0)
我一直在看这个并且我有一个解决方法,如果您保留对要保留的所有标记的引用,删除标记并添加您想要的标记,文件大小会缩小。我意识到这非常可怕,但它确实有效。所以如果你只想保留标题:
string title;
using (var taglibFile = TagLib.File.Create(file))
{
title = taglibFile.Tag.Title;
taglibFile.RemoveTags(TagTypes.AllTags);
taglibFile.Save();
}
using (var tagLibFile = TagLib.File.Create(file))
{
tagLibFile.Tag.Title = title;
tagLibFile.Save();
}