1.下载并引入ID3
连接: https://files.cnblogs.com/xdoudou/ID3.rar
2.代码示例
string filename = "F:\\Sleep Away.mp3"; string cover = "F:\\cover.jpg"; // 加载MP3 ID3Info info = new ID3Info(filename, true); //重要如果ID3保存时引发 未引用对象到实例 异常 一定要加入下面两行代码 //设置是否开启ID3标签 true为开启 info.ID3v2Info.HaveTag = true; //设置ID3版本,值有3和4 (ID3V2一般是3) info.ID3v2Info.SetMinorVersion(3); ///////////////////////////////////////////////////////////////////// // 创建新封面 AttachedPictureFrame pic = new AttachedPictureFrame( FrameFlags.FileAlterPreservation, "cover.jpg", TextEncodings.UTF_16, "", AttachedPictureFrame.PictureTypes.Other, new System.IO.MemoryStream(File.ReadAllBytes(cover))); //注意上面创建新封面的时候 第一个参数要填 FrameFlags.FileAlterPreservation 才能兼容大部分播放设备 例如WP7 如果填 FrameFlags.Compression 则不支持 // 添加新封面到MP3中 info.ID3v2Info.AttchedPictureFrames.Add(pic); // 设置其它属性 info.ID3v2Info.SetTextFrame("TIT2", "歌曲标题"); info.ID3v2Info.SetTextFrame("TPE1", "艺术家"); info.ID3v2Info.SetTextFrame("TALB", "专辑"); info.ID3v2Info.SetTextFrame("COMM", "备注"); // 保存到MP3中info.Save();
通过别人做好的类, 其实我们的工作已经非常简单, 有几点要说明一下:
1. 在 XP 中 MP3 文件的属性是 ID3v1 的版本, 在 win 7 是 ID3v2 的版本;
2. 更多的属性列表, 可以到 ID3 官方查看;
3. 在读取 ID3 属性的时候应该先判断是否存在 ID3 属性;
4. 专辑封面可以添加多张, 但播放器一般只会读取第一张, 所以要移除掉其它的;
原文URL:http://www.cnblogs.com/anakin/archive/2011/10/26/2224647.html