首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相册艺术作品不编码

相册艺术作品不编码
EN

Stack Overflow用户
提问于 2015-11-02 20:36:38
回答 1查看 269关注 0票数 4

试图创建一个供个人使用的mp3嵌入程序。在StackO上尝试了这里的所有解决方案,但都没有奏效。

以下是我所拥有的:

代码语言:javascript
复制
TagLib.File tagFile = TagLib.File.Create("C:\\Users\\Dom\\Desktop\\song.mp3");
TagLib.Id3v2.AttachedPictureFrame pic = new TagLib.Id3v2.AttachedPictureFrame();
pic.TextEncoding = TagLib.StringType.Latin1;
pic.MimeType = System.Net.Mime.MediaTypeNames.Image.Jpeg;
pic.Type = TagLib.PictureType.FrontCover;
pic.Data = TagLib.ByteVector.FromPath("C:\\Users\\Dom\\Pictures\\picture.png");
tagFile.Tag.Pictures = new TagLib.IPicture[1] { pic };
tagFile.Tag.Album = "Album 1";
tagFile.Tag.Year = 1990;
tagFile.Save();   

相册标签和年份标签在属性下显示得很好,程序不会崩溃或抛出任何错误。图片不显示为文件图标,也不显示在windows媒体播放器中。图片大小是300×300像素,如果这有任何重要意义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-06 21:27:33

原因可能是与现有的ID3v2标记发生了冲突。就这样把它修好:

代码语言:javascript
复制
    TagLib.File tagFile = TagLib.File.Create("C:\\Users\\Dom\\Desktop\\song.mp3"); 
    Tag t = tagFile.GetTag(TagTypes.Id3v2);
    tagFile.RemoveTags(TagTypes.Id3v2); 
    Tag tags = tagFile.GetTag(TagTypes.Id3v2);
    tagFile.GetTag(TagTypes.Id3v2, true); 
    tagFile.Save();
    tagFile = TagLib.File.Create("C:\\Users\\Dom\\Desktop\\song.mp3"); 
    tags = t;

    tagFile.GetTag(TagTypes.Id3v2).Pictures = new IPicture[] { 
    new Picture("C:\\Users\\Dom\\Pictures\\picture.png") 
       { MimeType = "image/png", Type = PictureType.FrontCover } 
    };
    tagFile.Tag.Album = "Album 1";
    tagFile.GetTag(TagTypes.Id3v2).Track = 0;
    tagFile.Tag.Year = 1990;
    tagFile.Save();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33486404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档