WMA格式文件中的TAG信息格式及解析类
来源:互联网 发布:ps4硬仗数据 编辑:程序博客网 时间:2024/05/15 07:51
需要WMA格式的TAG信息,整理了一下,在这里与大家分享一下。
首先介绍下WMA文件头的结构,如下图
/*************************************************************************
// 分为文件头和各个帧数据(文件头前16个字节WMA格式是固定的,8个字节的大小是高位存在后面,以后遇到大小都是高位存在后面)
+--------------------------------------------------------------+
| Header (30 bytes) HeadFlag:16; HeadSize:8; Unknow:6 |
+--------------------------------------------------------------+
| Frames (1....n) |
+--------------------------------------------------------------+
// 所有的TAG信息存放在标准帧和扩展帧中,其他帧可以不予考虑,标准帧以及扩展帧的16个字节标识头都是固定的
// 所有的信息都是UNICODE编码
// 标准帧结构
+--------------------------------------------------------------+
| Header (24 bytes) HeadFlag:16; HeadSize:8; |
+--------------------------------------------------------------+
| 标题信息大小(2 bytes) |
+--------------------------------------------------------------+
| 艺术家信息大小(2 bytes) |
+--------------------------------------------------------------+
| 版权信息大小(2 bytes) |
+--------------------------------------------------------------+
| 备注信息大小(2 bytes) |
+--------------------------------------------------------------+
| 未知信息大小(2 bytes) |
+--------------------------------------------------------------+
| 标题信息内容(0x00 0x00结束) |
+--------------------------------------------------------------+
| 艺术家信息内容(0x00 0x00结束) |
+--------------------------------------------------------------+
| 版权信息内容(0x00 0x00结束) |
+--------------------------------------------------------------+
| 备注信息内容(0x00 0x00结束) |
+--------------------------------------------------------------+
| 未知信息内容(0x00 0x00结束) |
+--------------------------------------------------------------+
// 扩展帧结构
+--------------------------------------------------------------+
| Header (24 bytes) HeadFlag:16; HeadSize:8; |
+--------------------------------------------------------------+
| 扩展信息个数EXNO(2 bytes) |
+--------------------------------------------------------------+
| EXINFO (1....EXNO) |
+--------------------------------------------------------------+
// 每个扩展信息EXINFO结构
+--------------------------------------------------------------+
| EXINFO NAME Size (2 bytes) 扩展信息名字大小 |
+--------------------------------------------------------------+
| 扩展信息名称 |
+--------------------------------------------------------------+
| 标志FLAG (2 bytes) |
+--------------------------------------------------------------+
| 值的大小 (2 bytes) |
+--------------------------------------------------------------+
| 实际的值 (若是图片格式参考ID3V2.3) |
+--------------------------------------------------------------+
当扩展信息名字为WMFSDKVersion时,这个值表示的是这个WMA文件的版本;
当扩展信息名字为WM/AlbumTitle时,这个值代表的就是专辑名;
当扩展信息名字为WM/Genre时,这个值代表的就是流派;
下面再来看看那个标志Flag,这个基本上是为没什么用的(通常值为0),
对WM/TrackNumber和WM/Track这两个扩展信息名字有用,
当Flag为3的时候后面的值(也就是曲目信息)是以4个字节的整数的形式表示,
当Flag为0的时候,曲目信息是以普通的字符串形式表示的。
// 查看http://msdn.microsoft.com/en-us/library/ms867702.aspx
=================================================================
贴出实现类头文件:
贴出实现文件:
贴出上面实现中用到存储图片的类头文件:
贴出图片存储类实现文件:
- WMA格式文件中的TAG信息格式及解析类
- WMA格式文件头解析
- WMA文件信息格式分析及代码
- WMA文件信息格式分析及代码
- WMA文件信息格式分析及代码
- asp读取wma文件Tag的类
- Wma 格式歌曲信息文件结构,附读写类(Delphi)
- tag格式文件
- ASP读取WMA,MP3文件信息类
- 分析PE格式文件中的图标信息
- Perl Audio::WMA读取WMA文件信息
- adb 查看log信息中的 Tag 信息
- WMA 文件格式解析
- WMA文件头解析
- wma文件解析
- 视频文件头解析--wma
- FLV科普6 FLV Tag以及Tag头信息解析
- JSP被生成java类编译及Tag解析过程
- 主板的简介
- Open Text VCM8.0 installation and upgrade on Windows XP
- 深入浅出正则表达式(一)
- 刚刚注册,请关照
- 深入浅出正则表达式(二)
- WMA格式文件中的TAG信息格式及解析类
- sql多表联合查询的问题
- 无处没有挑战
- 正则表达式使用详解(一)
- 关于动态数组的存储方式
- 正则表达式使用详解(二)
- 正则表达式学习笔记
- Android开发1:开发环境
- Sicily 1201 01000001(高精度运算)