找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2938|回復(fù): 0
收起左側(cè)

用NASM代碼解析WAV格式

[復(fù)制鏈接]
ID:70976 發(fā)表于 2014-12-23 19:53 | 顯示全部樓層 |閱讀模式
org 0x0000
;================================================================================
;= WAVE文件作為多媒體中使用的聲波文件格式之一,它是以RIFF格式為標(biāo)準(zhǔn)的。  =
;=RIFF是英文Resource Interchange File Format的縮寫,每個WAVE文件的頭四個 =
;=字節(jié)便是“RIFF”。        =
;=    WAVE文件是由若干個Chunk組成的。按照在文件中的出現(xiàn)位置包括:RIFF WAVE =
;=Chunk, Format Chunk, Fact Chunk(可選), Data Chunk。    =
;================================================================================
;================RIFF WAVE Chunk=================================================
DD 'RIFF'  ;文件頭(WAV格式是以RIFF為標(biāo)準(zhǔn)的,所以文件頭為RIFF)
DD (WAVE_End-WAVE_Start);SIZE,文件總長度減去文件頭和SIZE
;================================================================================
WAVE_Start:
;================Format Chunk Chunk==============================================
DD 'WAVE'  ;文件格式
DD 'fmt '
DD 0x0010  ;SIZE(數(shù)值為16或18,18則最后有附加信息)
DW 0x0001  ;編碼方式,一般為0x0001
DW 2   ;聲道數(shù)目,1--單聲道;2--雙聲道
DD 0x0000AC44  ;采樣頻率(44100)
DD 0x0002B110  ;每秒所需字節(jié)數(shù)
DW 0x0004  ;每個采樣所需字節(jié)數(shù)
DW 0x0010  ;每個采樣需要的bit數(shù)
;DW 0x0000  ;附加信息(可選通過Size來判斷有無)
;================================================================================
;================Fact Chunk======================================================
;DD 'fact'  ;ID
;DD 4   ;SIZE
;DD 0x00000000  ;Data
;================================================================================
;================Data Chunk======================================================

; =========================================================================
;     Data Chunk是真正保存wav數(shù)據(jù)的地方,以'data'作為該Chunk的標(biāo)示。然后是
; 數(shù)據(jù)的大小。緊接著就是wav數(shù)據(jù)。根據(jù)Format Chunk中的聲道數(shù)以及采樣bit數(shù),
; wav數(shù)據(jù)的bit位置可以分成以下幾種形式:
; =========================================================================
DD 'data'  ;ID
DD (Data_End-Data_Start);SIZE
Data_Start:

Data_End:
;================================================================================
WAVE_End:

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表