博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[开发笔记]-获取歌曲ID3信息
阅读量:5890 次
发布时间:2019-06-19

本文共 2731 字,大约阅读时间需要 9 分钟。

 ID3介绍:

ID3,一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版。  

  获取歌曲的ID3信息,我使用的插件是 。

主要代码:

using ID3;using ID3.ID3v2Frames.BinaryFrames;namespace Testid3{    class Program    {        //参考:        //Do Anything With ID3 - 赤色火焰 - 博客园 http://www.cnblogs.com/mgod/archive/2009/01/19/1377995.html         //id3v2.3.0 - ID3.org http://id3.org/id3v2.3.0#sec4.1        //Do Anything With ID3 - CodeProject http://www.codeproject.com/Articles/17890/Do-Anything-With-ID        static void Main(string[] args)        {            string file = @"E:\abcdef/123.mp3";            //http://www.cnblogs.com/babycool            ID3Info Data = new ID3Info(file, true);            var id31 = Data.ID3v1Info;            var id32 = Data.ID3v2Info;            //判断是否有id3v1            bool isid31 = id31.HaveTag;            //判断是否有id3v2            bool isid32 = id32.HaveTag;            StringBuilder sbuilder = new StringBuilder();            if (isid31)            {                sbuilder.AppendLine("--------------id31---------");                sbuilder.AppendLine(string.Format("Title : {0}", id31.Title));                sbuilder.AppendLine(string.Format("artist : {0}", id31.Artist));                sbuilder.AppendLine(string.Format("album : {0}", id31.Album));                sbuilder.AppendLine(string.Format("genre : {0}", id31.Genre));            }            if (isid32)            {                sbuilder.AppendLine("--------------id32---------");                //if (id32.VersionInfo.Minor != 3 && id32.VersionInfo.Minor != 4)                //{                //}                //id3v2 版本                sbuilder.AppendLine(string.Format("version: {0}",id32.VersionInfo.ToString()));                //TIT2  标题/ Songname /内容描述                sbuilder.AppendLine(string.Format("Title:{0}", id32.GetTextFrame("TIT2")));                //TPE1  主艺术家                sbuilder.AppendLine(string.Format("Artist:{0}", id32.GetTextFrame("TPE1")));                //TALB   'Album/Movie/Show title 专辑                sbuilder.AppendLine(string.Format("Album:{0}", id32.GetTextFrame("TALB")));                //类型                sbuilder.AppendLine(string.Format("Genre:{0}", id32.GetTextFrame("TCON")));                //音轨                sbuilder.AppendLine(string.Format("Tracl:{0}", id32.GetTextFrame("TRCK")));                //时长                 sbuilder.AppendLine(string.Format("时长:{0}", id32.GetTextFrame("TIME")));                sbuilder.AppendLine(string.Format("大小:{0}", id32.GetTextFrame("TLEN")));            }            Console.WriteLine(sbuilder.ToString());            Console.ReadKey();        }    }}

结果:

 

本文转自 酷小孩 博客园博客,原文链接:http://www.cnblogs.com/babycool/p/3676132.html  ,如需转载请自行联系原作者

你可能感兴趣的文章
8.30 牛客OI赛制测试赛1 F题 子序列
查看>>
.NET中<asp:MultiView>选项卡控件的用法
查看>>
为什么用bower 安装bootstrap而不用npm来安装?
查看>>
通过游戏来学习CSS的Flex布局
查看>>
Firefly加入OPEN AI LAB生态计划,推出AI开源主板
查看>>
递归函数实现方法
查看>>
[转]Windows7 64bit下配置Apache+PHP+MySQL
查看>>
CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问
查看>>
给trac的ticket添加提交时字段验证
查看>>
nodejs安装-配置
查看>>
Node.js学习-1
查看>>
今天你的应用崩溃了么?
查看>>
项目中的*签到*小功能!
查看>>
iOS 获取cell.accessoryView自定义视图以及点击事件
查看>>
java 考试试题
查看>>
[caffe(一)]使用caffe训练mnist数据集
查看>>
闭包,装饰器
查看>>
vs2013编译错误解决: _declspec(dllimport) 动态链接库
查看>>
这是一篇被河蟹了的博客
查看>>
一个两年Java的面试总结
查看>>