【发布时间】:2016-12-27 03:46:25
【问题描述】:
我正在使用TagLib# 编辑一些MP3 标签。要设置曲目的专辑封面,我使用以下简单的行:
file.Tag.Pictures = new TagLib.IPicture[] { new TagLib.Picture(filepath) };
它可以正常工作并按预期设置图像。当我保存文件,关闭程序并再次加载文件时,我正确地看到了我分配的图像。显然,它将图像写入文件。
但是当我查看Windows Explorer 中的文件时,它没有显示我设置的正确图标,而是显示了默认图标。只有当我在Tagscan 中重新保存文件时,图标才会更新,然后从我的程序中修改图像开始更改图标以匹配保存的内容。
这里有什么问题?如何让我的图像更改显示为缩略图,而无需使用其他程序?
谢谢!
编辑:以下是沿途发现的更多信息。我以普通的MP3 保存了一张图像,并在Notepad 中查看了它,然后使用Tagscan 重新保存了该文件,并再次查看了哪些更改。这是我找到的数据。
- 没有图片,原封不动:
ID3 TXXX major_brand isom TXXX minor_version 512 TXXX compatible_brands isomiso2mp41 TSSE Lavf57.51.102 TIT2 test nameTALB test albumTPE2 test artistTCOM test artistTPE1 test artistPRIV SampleStart 0 0 : 0 0 : 0 0
- 使用我的程序添加的图片:
ID3 TXXX major_brand isom TXXX minor_version 512 TXXX compatible_brands isomiso2mp41 TSSE Lavf57.51.102 TIT2 test nameTALB test albumTPE2 test artistTCOM test artistTPE1 test artistPRIV SampleStart 0 0 : 0 0 : 0 0 APIC Q image/png ‰PNG IHDR óÿa ‹IDATxœcÀ0¹õ¿yz÷ëÜ~8‰°jxõ‚ø7.ÿŸ;ÿðÿØþÍÿ£{7ÿÏž{ŒAâ¦é½Ä Ò3 †Aâæ™D ²=°y%ŠÈ® h H¡¤{&Ã4ÂøD RÓhœØÆ0~ëj€ÁlDÇD¹ d ÌFd'Ê# 1šY¬Œß IEND®B‚
- 使用 Tagscan 重新保存图像的文件:
ID3 TXXX major_brand isom TXXX minor_version 512 TXXX compatible_brands isomiso2mp41 TSSE Lavf57.51.102 TIT2 TXXX % ÿþm a j o r _ b r a n d ÿþi s o m TXXX ' ÿþm i n o r _ v e r s i o n ÿþ5 1 2 TXXX A ÿþc o m p a t i b l e _ b r a n d s ÿþi s o m i s o 2 m p 4 1 TSSE ÿþL a v f 5 7 . 5 1 . 1 0 2 TIT2 ÿþt e s t n a m e TALB ÿþt e s t a l b u m TPE2 ÿþt e s t a r t i s t TCOM ÿþt e s t a r t i s t TPE1 ÿþt e s t a r t i s t PRIV SampleStart 0 0 : 0 0 : 0 0 APIC Ñ image/png ‰PNG IHDR óÿa ‹IDATxœcÀ0¹õ¿yz÷ëÜ~8‰°jxõ‚ø7.ÿŸ;ÿðÿØþÍÿ£{7ÿÏž{ŒAâ¦é½Ä Ò3 †Aâæ™D ²=°y%ŠÈ® h H¡¤{&Ã4ÂøD RÓhœØÆ0~ëj€ÁlDÇD¹ d ÌFd'Ê# 1šY¬Œß IEND®B‚
唯一明显的变化是一切都变得……间隔开。我意识到在记事本中浏览所有内容的歌曲数据可能不是查找信息的最佳方式,但这是我所拥有的最好的方式。
【问题讨论】:
-
可能不是问题的原因,但请确保您使用 ID3 版本
-
嘿,非常感谢!我将
TagLib.Id3v2.Tag.DefaultVersion换成了3,它成功了。 Explorer 这样做太奇怪了,但感谢您告诉我! -
@FᴀʀʜᴀɴAɴᴀᴍ 随意张贴作为答案,我会正确标记,再次感谢。
-
不客气。 :) 好吧,我已经在下面发布了答案。
标签: c# mp3 taglib taglib-sharp