WAVEFORMATEX

WAVEFORMATEX,計算機用語,是一種數據結構。

簡介

typedef struct tWAVEFORMATEX

{

WORD wFormatTag; /* format type */

WORD nChannels; /* number of channels (i.e. mono, stereo...) */

DWORD nSamplesPerSec; /* sample rate */

DWORD nAvgBytesPerSec; /* for buffer estimation */

WORD nBlockAlign; /* block size of data */

WORD wBitsPerSample; /* number of bits per sample of mono data */

WORD cbSize; /* the count in bytes of the size of */

/* extra information (after cbSize) */

} WAVEFORMATEX, *PWAVEFORMATEX, NEAR *NPWAVEFORMATEX, FAR *LPWAVEFORMATEX;

名詞解釋

wFormatTag:設定波形聲音的格式,更多的信息請參考說明部分。

nChannels:設定音頻檔案的通道數量,對於單聲道的聲音,此此值為1。對於立體聲,此值為2.

nSamplesPerSec:設定每個聲道播放和記錄時的樣本頻率。如果wFormatTag= WAVE_FORMAT_PCM,那么nSamplesPerSec通常為8.0 kHz, 11.025 kHz, 22.05 kHz和44.1 kHz。例如對於採樣率為11.025 kHz的音頻,nSamplesPerSec將被設為11025。對於非PCM格式的,請根據廠商的設定計算。

nAvgBytesPerSec:設定請求的平均數據傳輸率,單位byte/s。這個值對於創建緩衝大小是很有用的。

nBlockAlign 以位元組為單位設定塊對齊。塊對齊是指最小數據的原子大小。如果 wFormatTag= WAVE_FORMAT_PCM,nBlockAlign為(nChannels*wBitsPerSample)/8。對於非PCM格式請根據廠商的說明計算。

wBitsPerSample:根據wFormatTag的類型設定每個樣本的位深(即每次採樣樣本的大小,以bit為單位)。如果wFormatTag= WAVE_FORMAT_PCM,此值應該設為8或16,對於非PCM格式,根據廠商的說明設定。一些壓縮的架構不能設定此值,此時wBitsPerSample應該為零。

cbSize:額外信息的大小,以位元組為單位,額外信息添加在WAVEFORMATEX結構的結尾。這個信息可以作為非PCM格式的wFormatTag額外屬性,如果wFormatTag不需要額外的信息,此值必需為0,對於PCM格式此值被忽略。

相關詞條

相關搜尋

熱門詞條

聯絡我們