WAV
WAVWAV
WAV 文件格式分析
文件格式分析文件格式分析
文件格式分析与应用
与应用与应用
与应用
一
一一
一. RIFF
. RIFF. RIFF
. RIFF 概念
概念概念
概念
在 Windows 环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"
资源互换文件格式"(Resources lnterchange File Format),简称 RIFF。例如声音的 WAV 文
件、视频的 AV1 文件等等均是由此结构衍生出来的。RIFF 可以看做是一种树状结构,其基本
构成单位为 chunk,犹如树状结构中的节点,每个 chunk 由"辨别码"、"数据大小"及"数据"所组
成。
块的标志符(4BYTES)
数据大小 (4BYTES)
数据
图一、 块的结构示意图
辨别码由 4 个 ASCII 码所构成,数据大小则标示出紧跟其后数据的长度(单位为 Byte),而
数据大小本身也用掉 4 个 Byte,所以事实上一个 chunk 的长度为数据大小加 8。一般而言,
chunk 本身并不允许内部再包含 chunk,但有两种例外,分别为以"RIFF"及"L1ST"为辨别码的
chunk。而针对此两种 chunk,RIFF 又从原先的"数据"中切出 4 个 Byte。 此 4 个 Byte 称为"格
式辨别码",然而 RIFF 又规定文件中仅能有一个以"RIFF"为辨别码的 chunk。
RIFF/LIST 标志符
数据 1 大小
格式/列表类型
数据 1
数据
图二、RIFF/LIST 块结构
只要依循此一结构的文件,我们均称之为 RIFF 档。此种结构提供了一种系统化的分类。
如果和 MS 一 DOS 文件系统作比较,"RIFF"chunk 就好比是一台硬盘的根目录,其格式辨别码
便是此硬盘的逻辑代码(C:或 D:),而"L1ST"chunk 即为其下的子目录,其他的 chunk 则为一
般的文件。至于在 RIFF 文件的处理方面,微软提供了相关的函数。视窗下的各种多媒体文件
格式就如同在磁盘机下规定仅能放怎样的目录,而在该目录下仅能放何种数据。
二
二二
二. WAV
. WAV. WAV
. WAV 文件格式
文件格式文件格式
文件格式
WAVE 文件是非常简单的一种 RIFF 文件,它的格式类型为"WAVE"。RIFF 块包含两个子
块,这两个子块的 ID 分别是"fmt"和"data",其中"fmt"子块由结构 PCMWAVEFORMAT 所组成,
其子块的大小就是 sizeofof(PCMWAVEFORMAT),数据组成就是 PCMWAVEFORMAT 结构中
的数据。
标志符(RIFF)
数据大小
格式类型("WAVE")
"fmt"
Sizeof(PCMWAVEFORMAT)
PCMWAVEFORMAT
"data"
声音数据大小
声音数据
图三、WAVE 文件结构
评论0