共用方式為


資源交換檔案格式 (RIFF)

本概觀描述 .wav 檔案中使用的資源交換檔案格式 (RIFF) 。 RIFF 是將載入 XAudio2 音訊資料的一般格式。

RIFF

RIFF 檔案是由多個稱為 區塊的資料離散區段所組成。

FOURCC 識別碼

區塊中的資料類型是以四個字元代碼表示, (FOURCC) 識別碼。 FOURCC 是一個 32 位不帶正負號的整數,其建立方式是串連四個 ASCII 字元,用來識別 RIFF 檔案中的區塊類型。 例如,FOURCC 「abcd」 以小端系統表示為0x64636261。 FOURC 可以包含空白字元,因此 「abc」 是有效的 FOURCC。 音訊檔案會使用 FOURCC 程式碼來識別音訊格式區塊、音訊資料區塊,以及音訊格式特有的任何其他區塊。

下表顯示 XAudio2 所支援的音訊格式可以預期的 FOURCC 識別碼。

格式 FOURCC 識別碼 其他資訊
PCM 「RIFF」、「fmt」、「 」data」  
ADPCM 「RIFF」、「fmt」、「data」、「smpl」、「wsmpl」 如需 ADPCM 特定 FOURCC 識別碼的描述,請參閱 ADPCM 概 觀。

 

四CC 識別碼 「RIFF」、「fmt」 和 「data」 是所有支援格式通用的。 下表描述所有支援格式中找到的 FOURCC 識別碼。

FOURCC 識別碼 描述
"RIFF" 標準 RIFF 區塊,其中包含其資料區段前四個位元組中具有 「WAVE」 或 「XWMA」 值的檔案類型,以及其其餘資料區段中檔案中的其他區塊。
"fmt" 包含音訊檔案的格式標頭。 此區塊中的資料會對應至下列其中一個結構: WAVEATEXWAVEATEXTENSIBLE ADPCMWAVEFORMAT
"data" 包含音訊檔案的音訊資料。 在 XAudio2 中,資料區塊的內容會讀取到緩衝區,並傳遞至來源語音作為XAUDIO2_BUFFER結構的pAudioData成員。

 

區塊

RIFF 檔案是由包含零個或多個其他區塊的 RIFF 區塊所組成。

  • RIFF 區塊的格式如下:

    「RIFF」, fileSize, fileType, data

    其中 「RIFF」 是常值 FOURCC 程式碼 「RIFF」, fileSize 是 4 位元組值,可提供檔案中的資料大小, 而 fileType 是識別特定檔案類型的 FOURCC。 fileSize的值包含fileType FOURCC 的大小加上下列資料的大小,但不包含 「RIFF」 FOURCC 的大小或fileSize的大小。 資料是由任何順序的區塊所組成。

  • 其他區塊的格式如下:

    chunkID, chunkSize, data
    

    其中 chunkID 是一個四CC,可識別區塊中包含的資料, chunkSize 是 4 位元組值,可提供區塊的資料區段大小,而資料是零或多個位元組的資料。 資料一律會填補到最接近的 WORD 界限。 chunkSize 提供區塊中有效資料的大小。 它不包含填補、區塊識別碼的大小或區塊大小。

快速入門

使用方法:使用 XAudio2 播放音效

XAudio2 程式設計參考