(mmeapi.h) 的 (

WAVEFORMATEX 結構會定義波形音訊資料的格式。 只有所有電壓音訊資料格式通用的格式資訊才會包含在這個結構中。 對於需要其他資訊的格式,此結構會包含為另一個結構中的第一個成員,以及其他資訊。

支援兩個以上的通道或樣本大小超過 16 位的格式,可以在包含一個顯示型態的顯示方式中描述于一個顯示于其內

語法

typedef struct tWAVEFORMATEX {
  WORD  wFormatTag;
  WORD  nChannels;
  DWORD nSamplesPerSec;
  DWORD nAvgBytesPerSec;
  WORD  nBlockAlign;
  WORD  wBitsPerSample;
  WORD  cbSize;
} WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;

成員

wFormatTag

電壓音訊格式類型。 格式標記會向 Microsoft Corporation 註冊許多壓縮演算法。 您可以在 Mmreg.h 標頭檔中找到格式標記的完整清單。 針對一或兩通道 PCM 資料,此值應該WAVE_FORMAT_PCM。 當此結構包含在 一個WAVE_FORMAT_EXTENSIBLE中時 ,必須WAVE_FORMAT_EXTENSIBLE這個值。

nChannels

波音訊資料中的通道數目。 Monaural 資料使用一個通道,而身歷聲資料會使用兩個通道。

nSamplesPerSec

取樣率,以每秒樣本為單位, (hertz) 。 如果 wFormatTag 是WAVE_FORMAT_PCM, 則 nSamplesPerSec 的常見值為 8.0 kHz、11.025 kHz、22.05 kHz 和 44.1 kHz。 對於非 PCM 格式,此成員必須根據製造商的格式標記規格來計算。

nAvgBytesPerSec

格式標記所需的平均資料傳輸速率,以每秒位元組為單位。 如果 wFormatTag 是WAVE_FORMAT_PCM, nAvgBytesPerSec 應該等於 nSamplesPerSecnBlockAlign 的乘積。 對於非 PCM 格式,此成員必須根據製造商的格式標記規格來計算。

nBlockAlign

區塊對齊,以位元組為單位。 區塊對齊是 wFormatTag 格式類型的最小不可部分完成資料單位。 如果 wFormatTag 是WAVE_FORMAT_PCM或WAVE_FORMAT_EXTENSIBLE, nBlockAlign 必須等於 nChannelswBitsPerSample 的乘積除以每個位元組) 8 個 (位。 對於非 PCM 格式,此成員必須根據製造商的格式標記規格來計算。

軟體一次必須處理多個 nBlockAlign 位元組的資料。 寫入和讀取裝置的資料必須一律從區塊開頭開始。 例如,在非區塊對齊界限) 上,在範例 (中間開始播放 PCM 資料不合法。

wBitsPerSample

wFormatTag格式類型的每個範例位數。 如果 wFormatTag 是WAVE_FORMAT_PCM, 則 wBitsPerSample 應該等於 8 或 16。 針對非 PCM 格式,必須根據製造商的格式標記規格來設定此成員。 如果 wFormatTag 是WAVE_FORMAT_EXTENSIBLE,這個值可以是 8 的任何整數倍數,而且代表容器大小,不一定是樣本大小;例如,20 位樣本大小位於 24 位容器中。 某些壓縮配置無法定義 wBitsPerSample的值,因此此成員可以是 0。

cbSize

將額外格式資訊的大小,以位元組為單位附加至 顯示于其結束的顯示方式 。 非 PCM 格式可以使用這項資訊來儲存 wFormatTag的額外屬性。 如果 wFormatTag不需要任何額外的資訊,則必須將此成員設定為 0。 對於WAVE_FORMAT_PCM格式 (,而且只會WAVE_FORMAT_PCM格式) ,則會忽略此成員。 當此結構包含在 一個顯示于其中時 ,這個值必須至少為 22。

備註

使用額外資訊的格式範例是 Microsoft 調適性差異脈衝代碼調 (MS-ADPCM) 格式。 ms-ADPCM 的 wFormatTag 是WAVE_FORMAT_ADPCM。 cbSize成員通常會設定為 32。 為WAVE_FORMAT_ADPCM儲存的額外資訊是編碼和解碼電壓音訊資料所需的係數組。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 mmeapi.h (包含 mmreg.h)

另請參閱

電壓音訊

電壓結構