最近想做一个音乐播放器,苦于不知道怎么获取音频文件的tag信息,查了很多资料,终于稍微有点眉目

在这里,我把音频文件的tag信息划为5部分,分别是:tag标志(3byte),title(30byte),singer(30byte),album(30byte),year(4byte),comment(30byte),各自是按线性排布下来,那么接下来就是获取的关键了:

static void Main(string[] args)
        {
            byte[] b = new byte[128];
            string title;
            string singer;
            string album;
            string year;
            string comm;
            FileStream fs = new FileStream(@"H:\Music\头文字D音乐全集\Battle Stage\18 - Generation.mp3", FileMode.Open);
            fs.Seek(-128,SeekOrigin.End); //查找
            fs.Read(b,0,128); //读取

            string sFlag = Encoding.Default.GetString(b,0,3);
            if (sFlag.Equals("TAG"))
            {
                Console.WriteLine("TAG is settled!");
title = Encoding.Default.GetString(b,3,30);
                singer = Encoding.Default.GetString(b,33,30);
                album = Encoding.Default.GetString(b,63,30);
                year = Encoding.Default.GetString(b,93,4);
                comm = Encoding.Default.GetString(b,97,30);
                Console.WriteLine("Title:"+title);
                Console.WriteLine("Singer:"+singer);
                Console.WriteLine("Album:"+album);
                Console.WriteLine("Year:"+year);
                Console.WriteLine("Comm:"+comm);

            Console.WriteLine(fs.Length+"字节");
           
 Console.WriteLine(fs.Length*1.0/(1024*1024)+"MB");
            }
        
            Console.WriteLine("The end!");
            Console.Read();
        }

//输出


以上测试均在VS2010下进行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值