[开发笔记]-获取歌曲ID3信息
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信息相关推荐
- Hololens2开发笔记-获取经纬度位置信息(unity)
文章目录 环境 相关代码 效果展示 注意事项 环境 Hololen2 Windows 10 Unity 2019.4.19f1c1 Visual Studio 2019 MRTK 2.5.4 相关代码 ...
- Android获取歌曲详细信息
Android获取歌曲详细信息 一.目标 二.实现方案 三.HTML方案 四.JSON方案 五.接下来 六.Finally 在<Android实现歌词笔记构思>时,构思了如何在笔记中添加歌 ...
- Android软件开发之获取通讯录联系人信息
点击打开链接http://blog.csdn.net/snwrking/article/details/7601794 Android软件开发之获取通讯录联系人信息 + android联系人信息的存储 ...
- NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info
NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info NX9+VS2012#include <uf.h> #include <uf_draw.h& ...
- xposed开发7 - 获取微信个人信息
xposed开发7 - 获取微信个人信息 Xposed获取微信个人信息 分析过程如上 // 获取微信个人信息 hookClass = "com.tencent.mm.ui.LauncherU ...
- 基于C#的AutoCAD二次开发之获取用户输入信息、选择集、访问CAD内部命令
基于C#的AutoCAD二次开发之获取用户输入信息.选择集.访问CAD内部命令 在CAD创建图形对象时,经常需要和用户进行交互,例如:直线创建时需要用户输入起点和终点(或长度)信息,复制对象时需要指定 ...
- notepad++添加HEX插件,编辑歌曲ID3信息,UTF8,UTF16 encoded Unicode,添加U2020字符方法
介绍 notepad++的插件HEX,可编辑歌曲的ID3 tag信息,包括Album.Artist.Track信息. 现象 信息歌曲的ID3信息时,受操作系统影响.最好使用notepad++,直接编辑 ...
- Qt开发中获取系统相关信息的方法,值得收藏参考
本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...
- Android开发之获取SIM卡信息和手机号码
获取SIM卡信息和手机号码的工具类,记录一下方便以后使用 import android.content.Context; import android.telephony.TelephonyManag ...
最新文章
- 浏览器中可以运行Window2000,WebAssembly 是 JavaScript 的末日?
- [老男孩笔记系列]-之linux定时任务crontab命令详解
- H5调用APP的方法
- 3a算法 isp_Isp图像算法工程师
- 理解C#语言中的类型转换----初学者的理解,请大神指教
- 面试加分项!Android权限处理,手慢无
- mysql修改表名,列名,列类型,添加表列,删除表列
- 谈谈Http中Get和Post的区别
- ABAQUS中The analysis may need a large number of increments (more than 20,000,000)...错误的解决方法
- windows设置定时任务并运行python脚本(windows任务计划)
- 使用VeraCrypt进行整盘加密介绍
- Qt Creator配置Yocto交叉编译环境——简洁篇
- Minimal Area
- css修改谷歌浏览器和火狐浏览器的滚动条样式
- c++中的前置和后置加加没你想的这么简单
- win内置ubuntu安装_win10内置的ubuntu安装在什么位置
- 数据库课程设计个人总结
- Python使用BeautifulSoup与selenium爬取Boos直聘
- print 中文输出乱码
- 第13课 Altium Designer20(AD20)+VESC6.4实战教程:将元器件封装导入到PCB(北冥有鱼)
热门文章
- BZOJ2388: 旅行规划
- [Java2 入门经典]第6章 类的扩展与继承
- gradle的配置文件build.gradle、gradle.properties、settings.gradle示例
- php找不到intl,php_intl.dll找不到指定模块怎么办
- python中isinstance是什么意思_isinstance在python中的意思是什么?
- 2060显卡驱动最新版本_聊一款现阶段性价比爆炸的显卡——铭瑄RTX2070 SUPER 电竞之心 OC...
- 学web前端有什么计划?
- native react 常用指令_React Native 常用命令或快捷键合集
- 基于matlab移位寄存器,基于Matlab产生m序列(DOC X页).doc
- mysql主从北_mysql北非之主从同步