2

尝试使用 c# 标签库添加专辑封面,

  TagLib.File trackFile = TagLib.File.Create(strLocalFile);
  Picture picture = new Picture("Picture path");
  picture.Type = PictureType.FrontCover;
  picture.MimeType = "image/jpeg";
  picture.Description = "Front Cover";        
  trackFile.Tag.Pictures = new IPicture[1] { picture };
  trackFile.Save();

我在 windows 媒体播放器、itunes 和 iphone 中获取图片(仅在纵向模式下)。当我切换到横向模式时,会显示专辑封面,但是当滑过封面流时专辑封面会消失。

我在代码中遗漏了什么吗?

我在 iPhone 4s 上使用 iTunes 11、iOS 6

4

1 回答 1

5

让我自己举个例子:

我发现 iTunes 讨厌 UTF-16,这就是问题所在。

targetMp3File = TagLib.File.Create(...);

// define picture
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(...);

// save picture to file
targetMp3File.Tag.Pictures = new TagLib.IPicture[1] { pic };    
targetMp3File.Save();

所以基本上整个事情都在pic.TextEncoding排队。此外,我通过 .NET 常量分配了 Mime 类型。

资料来源: 在 .Net 中使用 Taglib-sharp 2.0.4.0 编写 ArtWork 时遇到问题

这应该适用于 iTunes 和 iPod/iPad/iPhone。但这仅适用于 MP3 文件...

于 2012-12-04T20:50:16.770 回答