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 Media Player、iTunes、iPhoneで画像を取得します(ポートレートモードのみ)。横向きモードに切り替えるとアルバムアートが表示されますが、カバーフローをスライドするとアルバムアートが消えます。

コードに何かが欠けていますか?

私はiPhone4sでiTunes11、iOS6を使用しています

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 Type を割り当てました。

出典: .Net で Taglib-sharp 2.0.4.0 を使用して ArtWork を作成する際に問題が発生しました

これは、iTunes と iPod/iPad/iPhone の両方で機能するはずです。しかし、これはMP3ファイルに対してのみ機能します...

于 2012-12-04T20:50:16.770 に答える