ID3介绍:

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

  获取歌曲的ID3信息,我使用的插件是Do Anything With 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(); }
}
}

结果:

转载请注明出处。

最新文章

  1. MongoDB常用操作--集合2
  2. java List 排序
  3. asp.net页面生命周期的文章推荐
  4. 《Linux内核分析》第三周 构建一个简单的Linux系统MenuOS
  5. 蒙古人交友网站 www.mengguren.com
  6. awk多文件操作
  7. 本地同时启动两个tomcat
  8. windows 创建SSH Key
  9. C语言常用的库文件(头文件、函数库)
  10. iOS中通知传值
  11. ES3:ElasticSearch 索引
  12. 老李分享:webservice是什么?
  13. epclise设置tomcat方法(步骤)(菜鸟巧记二)
  14. 编译MapWinGis
  15. 克鲁斯卡尔(Kruskal)算法求最小生成树
  16. 熊猫猪新系统测试之二:Mac OS X 10.10 优胜美地
  17. AGC001F - Wide Swap
  18. 从0开始的Python学习005运算符与表达式
  19. 04-Python入门学习-流程控制
  20. 二叉搜索树(BST)的插入和删除递归实现

热门文章

  1. Android dex分包方案
  2. Android控件之CheckBox(复选框控件)
  3. openSUSE 国内镜像和镜像使用帮助 (zhuan)
  4. Hbase之原子性更新数据
  5. 【bzoj1040】骑士
  6. DispatcherServlet中使用的特殊的Bean
  7. web 页面内容优化管理与性能技巧
  8. JAVA_安装JDK和Eclipse
  9. python中文处理
  10. hdu----(4513)吉哥系列故事——完美队形II(manacher(最长回文串算法))