在上一篇文章RIFF和WAVE音頻文件格式中對(duì)WAV的文件格式做了介紹,本文將使用標(biāo)準(zhǔn)C++庫(kù)實(shí)現(xiàn)對(duì)數(shù)據(jù)為PCM格式的WAV文件的讀寫(xiě)操作,只使用標(biāo)準(zhǔn)C++庫(kù)函數(shù),不依賴(lài)于其他的庫(kù)。

WAV文件結(jié)構(gòu)

WAV是符合RIFF標(biāo)準(zhǔn)的多媒體文件,其文件結(jié)構(gòu)可以如下:

WAV 文件結(jié)構(gòu)
RIFF塊
WAVE FOURCC
fmt 塊
fact 塊(可選)
data塊(包含PCM數(shù)據(jù))

首先是一個(gè)RIFF塊,有塊標(biāo)識(shí)RIFF,指明該文件是符合RIFF標(biāo)準(zhǔn)的文件;接著是一個(gè)FourCC,WAVE,該文件為WAV文件;fmt塊包含了音頻的一些屬性:采樣率、碼率、聲道等;fact 塊是一個(gè)可選塊,不是PCM數(shù)據(jù)格式的需要該塊;最后data塊,則包含了音頻的PCM數(shù)據(jù)。實(shí)際上,可以將一個(gè)WAV文件看著由兩部分組成:文件頭和PCM數(shù)據(jù),則WAV文件頭各字段的意義如下:
萬(wàn)碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開(kāi)發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式