2014-01-24 137 views
2

我刪除ID3標籤的所有圖片與標籤庫銳(2.1.0版本):刪除ID3標籤的所有圖片與標籤庫鋒利

tagFile.Tag.Pictures = new TagLib.IPicture[0]; 
tagFile.Save(); 

如果我的taglib鋒利再次讀取該文件沒有更多的照片。這沒問題,但文件大小保持不變。

如果我用像mp3tag這樣的工具刪除圖片(http://www.mp3tag.de),文件大小會減小。

有沒有人有一個想法,我可以通過taglib-sharp減小文件大小?

在此先感謝。

劉若英

回答

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(); 
     } 
+0

非常感謝。 我現在用CopyTo保存完整的標籤,刪除所有標籤,保存標籤,之後我用CopyTo寫回並保存一遍: –

+1

@ReneHilgers您可以分享您的代碼作爲答案嗎? – SepehrM

0

因爲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();