2012-12-02 8 views
2

를 사용하여 MP3를에,삽입 앨범 아트 C#을 태그 lib 디렉토리를 사용하여 앨범 아트를 추가하려고 태그 해방 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(); 

나는 윈도우 미디어 플레이어, 아이튠즈와 (전용 세로 모드) 아이폰에서 사진을 찍어. 가로 모드로 전환하면 앨범 아트가 표시되지만 앨범 전체에서 슬라이드가 사라지면 앨범 아트가 사라집니다.

코드에 뭔가 빠졌습니까?

나는 iTunes가 UTF-16 싫어하는 것을 발견하고는 문제가있는 내용은 다음과 같습니다

나는

+0

** 업데이트 : **이 특정 문제는 iPhone의 선택적인 해상도 때문이었습니다. 이미지의 ** 해상도 **를 줄이면 앨범 아트가 iPhone의 커버 플로우 모드에서 올바르게 표시됩니다. – MusicMan

답변

4

나 자신을 인용하자 아이폰 4S에서 iTunes (11), 아이폰 OS 6를 사용합니다.

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 형식을 할당했습니다.

출처 :Having trouble writing ArtWork with Taglib-sharp 2.0.4.0 in .Net

이 아이튠즈와 아이팟/아이 패드/아이폰 모두 작동합니다. 하지만 이것은 MP3 파일에만 적용됩니다 ...