我尝试使用TagLib
将专辑图片添加到我的mp3音频文件中。
但如果我在添加专辑封面后打开mp3文件,播放器会引发错误0xc00d36c4。
这是我试过的代码......
var wReq = (HttpWebRequest)WebRequest.Create(procItem.Thumbnail);
var wRes = (HttpWebResponse)wReq.GetResponse();
byte[] buffer = new byte[1024];
using (MemoryStream ms = new MemoryStream())
{
using (Stream s = wRes.GetResponseStream())
{
int data;
while ((data = s.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, data);
}
}
TagLib.File tagFile = TagLib.File.Create(procItem.DownloadDirectory);
IPicture newArt = new Picture(ms.ToArray());
tagFile.Tag.Pictures = new IPicture[1] { newArt };
tagFile.Save();
}
有趣的是,如果我在程序中加载mp3文件信息,图像控件就会绘制专辑封面。
当mp3文件打开时它才会出现。
procitem.Thumbnail是专辑图片Url