org 0x0000
;================================================================================
;= WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。 =
;=RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个 =
;=字节便是“RIFF”。 =
;= WAVE文件是由若干个Chunk组成的。按照在文件中的出现位置包括:RIFF WAVE =
;=Chunk, Format Chunk, Fact Chunk(可选), Data Chunk。 =
;================================================================================
;================RIFF WAVE Chunk=================================================
DD 'RIFF' ;文件头(WAV格式是以RIFF为标准的,所以文件头为RIFF)
DD (WAVE_End-WAVE_Start);SIZE,文件总长度减去文件头和SIZE
;================================================================================
WAVE_Start:
;================Format Chunk Chunk==============================================
DD 'WAVE' ;文件格式
DD 'fmt '
DD 0x0010 ;SIZE(数值为16或18,18则最后有附加信息)
DW 0x0001 ;编码方式,一般为0x0001
DW 2 ;声道数目,1--单声道;2--双声道
DD 0x0000AC44 ;采样频率(44100)
DD 0x0002B110 ;每秒所需字节数
DW 0x0004 ;每个采样所需字节数
DW 0x0010 ;每个采样需要的bit数
;DW 0x0000 ;附加信息(可选通过Size来判断有无)
;================================================================================
;================Fact Chunk======================================================
;DD 'fact' ;ID
;DD 4 ;SIZE
;DD 0x00000000 ;Data
;================================================================================
;================Data Chunk======================================================
; =========================================================================
; Data Chunk是真正保存wav数据的地方,以'data'作为该Chunk的标示。然后是
; 数据的大小。紧接着就是wav数据。根据Format Chunk中的声道数以及采样bit数,
; wav数据的bit位置可以分成以下几种形式:
; =========================================================================
DD 'data' ;ID
DD (Data_End-Data_Start);SIZE
Data_Start:
Data_End:
;================================================================================
WAVE_End:
|