日期:2014-05-17  浏览次数:20823 次

关于MP3 文件读取ID3v2专辑图片
相信大家还在假期中,但是小弟遇到了莫名奇妙的问题,还请各位师兄师姐指教下:
如题,我在读取MP3文件的专辑图片的时候遇到了麻烦,读取出来的图片不是有损坏不能打开就是图片有一部分被莫名其妙的灰色所覆盖
我的代码是这样的:
public static void GetMediaItemImage(string path)
        {
            try
            {
                FileStream fs = new FileStream(path, FileMode.Open);
                byte[] header = new byte[10];       //标签头
                fs.Read(header, 0, 10);
                string head = Encoding.Default.GetString(header, 0, 3);
                if (head.Equals("ID3"))
                {
                    int sizeAll = header[6] * 0x200000  //获取该标签的尺寸,不包括标签头
                        + header[7] * 0x4000
                        + header[8] * 0x20
                        + header[9];
                    int size = 0;
                    byte[] body = new byte[10];     //数据帧头
                    fs.Read(body, 0, 10);
                    head = Encoding.Default.GetString(body, 0, 4);
                    while (!("APIC".Equals(head)))
                    {
                        size = body[size + 4] * 0x200000    //获取该数据帧的尺寸(不包括帧头)
                        + body[size + 5] * 0x4000
                        + body[size + 6] * 0x20
                       &