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:
|