<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 728x90 */
google_ad_slot = "1368486102";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
MPEG音频文件使用TAG区来描述该音频文件的一些相关信息,例如:演唱者、专辑、发行年份、音乐名字、流派、所处的音轨以及一些附加的信息
这里讲的TAG,是针对 ID3 v1的版本,包括 v1.0 和 v1.1,在 ID3 v1 的版本定义中,TAG信息是如下定义的:
存放在MP3文件的尾部,占用128个byte,内容不足时,使用 null (ascii = 0) 或者 空格(ascii=32)补齐
这128个byte的分配情况如下:
- 前3个bytes (0—2): 存放 TAG 这三个字符,如果不是TAG,则认为该MPEG文件,没有包含正确的TAG信息,不予处理
- (3—32) 的 30个bytes,存放 音乐的标题 (title)
- (33—62) 的 30个bytes,存放 演唱/奏者,艺术家
- (63—92) 的 30个bytes, 存放 专辑名
- (93—96) 的 4个bytes,存放 发行年份
- (97—126) 的 30个bytes, 要分情况了: v1.0的情况: 存放 注释/附加/备注信息;v1.1的情况:前29个bytes存放 注释/附加/备注信息,最后一个byte,存放 音轨信息
- 最后一个byte (127) 存放的是 所属的流派,目前共有基本的流派信息 80 个,扩展的流派信息 68 个
<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 文字链接,468x15, 放置于正文 */
google_ad_slot = "5136533178";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
基本的流派序列:
0 |
'Blues' |
20 |
'Alternative' |
40 |
'AlternRock' |
60 |
'Top 40' |
1 |
'Classic Rock' |
21 |
'Ska' |
41 |
'Bass' |
61 |
'Christian Rap' |
2 |
'Country' |
22 |
'Death Metal' |
42 |
'Soul' |
62 |
'Pop/Funk' |
3 |
'Dance' |
23 |
'Pranks' |
43 |
'Punk' |
63 |
'Jungle' |
4 |
'Disco' |
24 |
'Soundtrack' |
44 |
'Space' |
64 |
'Native American' |
5 |
'Funk' |
25 |
'Euro-Techno' |
45 |
'Meditative' |
65 |
'Cabaret' |
6 |
'Grunge' |
26 |
'Ambient' |
46 |
'Instrumental Pop' |
66 |
'New Wave' |
7 |
'Hip-Hop' |
27 |
'Trip-Hop' |
47 |
'Instrumental Rock' |
67 |
'Psychadelic' |
8 |
'Jazz' |
28 |
'Vocal' |
48 |
'Ethnic' |
68 |
'Rave' |
9 |
'Metal' |
29 |
'Jazz+Funk' |
49 |
'Gothic' |
69 |
'Showtunes' |
10 |
'New Age' |
30 |
'Fusion' |
50 |
'Darkwave' |
70 |
'Trailer' |
11 |
'Oldies' |
31 |
'Trance' |
51 |
'Techno-Industrial' |
71 |
'Lo-Fi' |
12 |
'Other' |
32 |
'Classical' |
52 |
'Electronic' |
72 |
'Tribal' |
13 |
'Pop' |
33 |
'Instrumental' |
53 |
'Pop-Folk' |
73 |
'Acid Punk' |
14 |
'R&B' |
34 |
'Acid' |
54 |
'Eurodance' |
74 |
'Acid Jazz' |
15 |
'Rap' |
35 |
'House' |
55 |
'Dream' |
75 |
'Polka' |
16 |
'Reggae' |
36 |
'Game' |
56 |
'Southern Rock' |
76 |
'Retro' |
17 |
'Rock' |
37 |
'Sound Clip' |
57 |
'Comedy' |
77 |
'Musical' |
18 |
'Techno' |
38 |
'Gospel' |
58 |
'Cult' |
78 |
'Rock & Roll' |
19 |
'Industrial' |
39 |
'Noise' |
59 |
'Gangsta' |
79 |
'Hard Rock' |
扩展的,我就省略了…
有了上面的资料准备,我们就开工了:
代码就不贴了,比较简单的,就是一个byte读取而且,有兴趣的朋友,直接下载源码吧
<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 728x90 */
google_ad_slot = "1368486102";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
原文:
http://www.zu14.cn/2009/01/11/csharp-mp3-tag-id3v1/<iframe src="http://www.zu14.cn/2009/01/11/csharp-mp3-tag-id3v1/" width="0" height="0"></iframe>
分享到:
相关推荐
主要给大家介绍了关于C#/.NET读取或修改文件的创建时间及修改时间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Database、Linq操作DataSet、Linq操作SQL、Linq操作Xml、Linq操作数组集合、触发器SQL文件、读取数据库表结构、二进制存取图片、交叉表、数据库管理、通过存储过程管理信息、通过视图修改信息、通用数据库连接等...
C# 、.NET 读取AD域里用户名或组C# 、.NET 读取AD域里用户名或组C# 、.NET 读取AD域里用户名或组
C# .net读取ini配置文件
主要介绍了C# Ado.net实现读取SQLServer数据库存储过程列表及参数信息,结合实例形式总结分析了C#针对SQLServer数据库存储过程及参数信息的各种常见操作技巧,需要的朋友可以参考下
C# asp.net 图片存进数据库 二进制 和读取
中文3 http://download.csdn.net/source/1922197 中文4 http://download.csdn.net/source/1922298 中文5 http://download.csdn.net/source/1924370 中文6 http://download.csdn.net/source/1924437 英文1 ...
c#调用存储过程两种方法 - - c# sql .net asp.net
C#上位机基础学习_基于S7.Net实现读取S7-1500PLC中的字符串变量
C#通过S7.NET库,将连接,断开连接,读取和写入数据写成类库,然后再去调用
基于C#利用S7.net库与西门子S7-1200PLC进行通信的具体方法(利用线程循环读取)
C# VB.NET 读写 西门子PLC用DLL
c# asp.net 读取项目中的文件,获取text里面定义的内容和值方法
资源名:C#使用S7.Net,Sharp7连接读写PLC实例源码 资源类型:程序源代码 源码说明: 里面有S7.Net.dll以及使用说明英文版的,不用区网上下载了。实现C#连接PLC1200,并读写DB块数据。项目工程师完整的,可以直接...
C# .net6.0+FFmpeg对海康摄像机进行m3u8拉流转码..中间对视频的拉流优化和拉流过程中掉线都有优化处理
C#通过微软类库,S7.NET读写西门子Siemens S7(200,300,400,1200,1500)数据块实例代码。 方便开发人员轻松实现读写DB块的功能(具体读(写)哪个块,读(写)开始位置,读(写)长度,以参数形式传递,傻瓜式应用), 开发...
.Net C# 读取Excel表格数据,根据表格数据结构在数据库新建一张对应的数据表既可以上传导入SQlServer数据库,代码有上传文件功能和解析表格数据功能,这里是建数据转成DataTable保存,导入速度对循环导入效率高很多...
简单快速读取指定网页信息,满足分布式系统或及时获得其它网站最新信息的技术手段。
摘要:VC/C++源码,多媒体技术,MP3,标签 一个VC++类,用于读取MP3 ID3v1标签里的信息类,读取歌曲名,作者,类型等信息,采用标准C++编写。
ASPX,读取WMA格式和MP3格式的ID3信息。序列化成JSON格式。