Я использую TagLib#
для редактирования некоторых тегов MP3
. Чтобы установить обложку альбома для трека, я использую следующую простую строку:
file.Tag.Pictures = new TagLib.IPicture[] { new TagLib.Picture(filepath) };
Он работает и устанавливает изображение, как ожидалось. Когда я сохраняю файл, закрываю программу и снова загружаю файл, я правильно вижу изображение, которое я назначил. Очевидно, он записал изображение в файл.
Но когда я смотрю на файл в Windows Explorer
, он не показывает правильный значок, который я установил, вместо этого показывает значок по умолчанию. Только когда я повторно сохраняю файл в Tagscan
, значок обновляется, а затем изменение изображения из моей программы начинает изменять значок в соответствии с тем, что было сохранено.
В чем здесь проблема? Как разрешить отображение изменений изображения в виде эскиза без использования другой программы?
Спасибо!
EDIT: Вот еще немного информации, обнаруженной в процессе. Я сохранил изображение в простом 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‚
Единственное заметное изменение в том, что все стало... растянутым. Я понимаю, что копаться в данных песни в «Блокноте», вероятно, не лучший способ найти информацию, но это лучшее, что у меня есть.
TagLib.Id3v2.Tag.DefaultVersion
на3
и все получилось. Это так странно, что Explorer делает это, но спасибо, что сообщили мне! - person tryashtar   schedule 17.03.2017