共用方式為


MPEGLAYER3WAVEFORMAT 結構 (mmreg.h)

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

MPEGLAYER3WAVEFORMAT結構描述 MPEG 音訊層 3 (MP3) 音訊格式。

語法

typedef struct mpeglayer3waveformat_tag {
  WAVEFORMATEX wfx;
  WORD         wID;
  DWORD        fdwFlags;
  WORD         nBlockSize;
  WORD         nFramesPerBlock;
  WORD         nCodecDelay;
} MPEGLAYER3WAVEFORMAT;

成員

wfx

指定基本音訊格式的WAVEFORMATEX結構。 wFormatTag成員必須WAVE_FORMAT_MPEGLAYER3cbSize成員至少必須是 12。 (針對cbSize,您可以使用 mmreg.h.) 中定義的常數MPEGLAYER3_WFX_EXTRA_BYTES

wID

將此結構成員設定為 MPEGLAYER3_ID_MPEG

fdwFlags

指出是否使用填補來將平均位元速率調整為取樣率。 請使用下列其中一個值:

意義
MPEGLAYER3_FLAG_PADDING_ISO
0x00000000
視需要插入填補,以達到已設定的平均位元速率。
MPEGLAYER3_FLAG_PADDING_ON
0x00000001
一律插入填補。 平均位元速率可能高於狀態。
MPEGLAYER3_FLAG_PADDING_OFF
0x00000002
絕對不要插入填補。 平均位元速率可能低於狀態。

nBlockSize

區塊大小以位元組為單位。 這個值等於位元組 x nFramesPerBlock的框架長度。 針對 MP3 音訊,畫面長度的計算方式如下:144 x (位元速率/取樣率) + 填補。

nFramesPerBlock

每個區塊的音訊畫面數。

nCodecDelay

範例中的編碼器延遲。 如果您不知道此值,請將這個結構成員設定為零。

規格需求

   
標頭 mmreg.h

另請參閱

DirectShow 結構