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-IDstatic void Main(string[] args){string file = @"E:\abcdef/123.mp3";//http://www.cnblogs.com/babycoolID3Info Data = new ID3Info(file, true);var id31 = Data.ID3v1Info;var id32 = Data.ID3v2Info;//判断是否有id3v1bool isid31 = id31.HaveTag;//判断是否有id3v2bool 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  ,如需转载请自行联系原作者

[开发笔记]-获取歌曲ID3信息相关推荐

  1. Hololens2开发笔记-获取经纬度位置信息(unity)

    文章目录 环境 相关代码 效果展示 注意事项 环境 Hololen2 Windows 10 Unity 2019.4.19f1c1 Visual Studio 2019 MRTK 2.5.4 相关代码 ...

  2. Android获取歌曲详细信息

    Android获取歌曲详细信息 一.目标 二.实现方案 三.HTML方案 四.JSON方案 五.接下来 六.Finally 在<Android实现歌词笔记构思>时,构思了如何在笔记中添加歌 ...

  3. Android软件开发之获取通讯录联系人信息

    点击打开链接http://blog.csdn.net/snwrking/article/details/7601794 Android软件开发之获取通讯录联系人信息 + android联系人信息的存储 ...

  4. NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info

    NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info NX9+VS2012#include <uf.h> #include <uf_draw.h& ...

  5. xposed开发7 - 获取微信个人信息

    xposed开发7 - 获取微信个人信息 Xposed获取微信个人信息 分析过程如上 // 获取微信个人信息 hookClass = "com.tencent.mm.ui.LauncherU ...

  6. 基于C#的AutoCAD二次开发之获取用户输入信息、选择集、访问CAD内部命令

    基于C#的AutoCAD二次开发之获取用户输入信息.选择集.访问CAD内部命令 在CAD创建图形对象时,经常需要和用户进行交互,例如:直线创建时需要用户输入起点和终点(或长度)信息,复制对象时需要指定 ...

  7. notepad++添加HEX插件,编辑歌曲ID3信息,UTF8,UTF16 encoded Unicode,添加U2020字符方法

    介绍 notepad++的插件HEX,可编辑歌曲的ID3 tag信息,包括Album.Artist.Track信息. 现象 信息歌曲的ID3信息时,受操作系统影响.最好使用notepad++,直接编辑 ...

  8. Qt开发中获取系统相关信息的方法,值得收藏参考

    本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...

  9. Android开发之获取SIM卡信息和手机号码

    获取SIM卡信息和手机号码的工具类,记录一下方便以后使用 import android.content.Context; import android.telephony.TelephonyManag ...

最新文章

  1. 浏览器中可以运行Window2000,WebAssembly 是 JavaScript 的末日?
  2. [老男孩笔记系列]-之linux定时任务crontab命令详解
  3. H5调用APP的方法
  4. 3a算法 isp_Isp图像算法工程师
  5. 理解C#语言中的类型转换----初学者的理解,请大神指教
  6. 面试加分项!Android权限处理,手慢无
  7. mysql修改表名,列名,列类型,添加表列,删除表列
  8. 谈谈Http中Get和Post的区别
  9. ABAQUS中The analysis may need a large number of increments (more than 20,000,000)...错误的解决方法
  10. windows设置定时任务并运行python脚本(windows任务计划)
  11. 使用VeraCrypt进行整盘加密介绍
  12. Qt Creator配置Yocto交叉编译环境——简洁篇
  13. Minimal Area
  14. css修改谷歌浏览器和火狐浏览器的滚动条样式
  15. c++中的前置和后置加加没你想的这么简单
  16. win内置ubuntu安装_win10内置的ubuntu安装在什么位置
  17. 数据库课程设计个人总结
  18. Python使用BeautifulSoup与selenium爬取Boos直聘
  19. print 中文输出乱码
  20. 第13课 Altium Designer20(AD20)+VESC6.4实战教程:将元器件封装导入到PCB(北冥有鱼)

热门文章

  1. BZOJ2388: 旅行规划
  2. [Java2 入门经典]第6章 类的扩展与继承
  3. gradle的配置文件build.gradle、gradle.properties、settings.gradle示例
  4. php找不到intl,php_intl.dll找不到指定模块怎么办
  5. python中isinstance是什么意思_isinstance在python中的意思是什么?
  6. 2060显卡驱动最新版本_聊一款现阶段性价比爆炸的显卡——铭瑄RTX2070 SUPER 电竞之心 OC...
  7. 学web前端有什么计划?
  8. native react 常用指令_React Native 常用命令或快捷键合集
  9. 基于matlab移位寄存器,基于Matlab产生m序列(DOC X页).doc
  10. mysql主从北_mysql北非之主从同步