WAVEFORMATEX
typedef struct tWAVEFORMATEX
{
WORD wFormatTag; /* format type */
WORD nChannels; /* number of channels (i.e. mono, stereo...) */
DWORD nSamplesPerSec; /* sample rate */ 取樣率 HZ
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; /* WAVE_FORMAT_PCM */
nChannels; /* 1 */ mono
nSamplesPerSec; /* 48000 */ 取樣率 48000HZ
nAvgBytesPerSec; /* 96000 */ BA * SPS (in WAVE_FORMAT_PCM )
nBlockAlign; /* 2 */ channel * BPS/8 (1*2)(in WAVE_FORMAT_PCM )
wBitsPerSample; /* 16 */ 16bits
cbSize; /* 18 */
//For WAVE_FORMAT_PCM formats (and only WAVE_FORMAT_PCM formats), cbSize is ignored.
Wave Size = SamplesPerSec * 秒 * (BitsPerSample/8) * channel
上述格式每一秒的size為 48000 * 1 * 16/2 * 1 = 96000bytes
沒有留言:
張貼留言