找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2881|回復: 0
打印 上一主題 下一主題
收起左側(cè)

用NASM代碼解析WAV格式

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-23 19:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
org 0x0000
;================================================================================
;= WAVE文件作為多媒體中使用的聲波文件格式之一,它是以RIFF格式為標準的。  =
;=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為標準的,所以文件頭為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的標示。然后是
; 數(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:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表