本文將解析
wav
音頻文件格式,並實現一套用於讀寫wav
文件的API
。
wav文件解析
wav文件簡介
wav/wave
文件格式是由微軟開發的用於音頻數字存儲的標準,它採用RIFF
(Resource Interchange File Format
,資源交換文件標準)文件規範,文件擴展名爲.wav
,採用小端存儲。
wav文件頭
wav
文件分成兩部分:
- 文件頭:主要包含標準的44字節文件頭或經過了一些軟件處理的58字節文件頭,文件頭中包含
RIFF
數據塊,一個fmt
數據塊和一個data
數據塊 - 數據塊:用於存儲數據,數據本身的格式爲
PCM
或壓縮型
本文所介紹的
wav
文件頭是標準的44字節文件頭。
wav文件格式
wav
文件格式如下:
通過wav
文件頭信息,我們可以計算出音頻時長:
音頻時長 = Subchunk2Size/ByteRate
編碼類型
wav
文件幾乎支持所有ACM
規範的編碼格式,其信息存儲在文件頭21
、22
兩個字節中,有如下編碼格式:
wav文件讀寫API
這裏提供了一套用於wav
文件讀寫的API
,歡迎大家來添磚加瓦。
微信公衆號同步更新,微信搜索"AnSwEr不是答案"或者掃描二維碼,即可訂閱。
- GitHub:AnSwErYWJ
- Blog:http://www.answerywj.com
- Email:[email protected]
- Weibo:@AnSwEr不是答案