MPEGLAYER3WAVEFORMAT 结构 (mmreg.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 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_MPEGLAYER3。 cbSize 成员必须至少为 12。 (对于 cbSize,可以使用 mmreg.h. ) 中定义的常量MPEGLAYER3_WFX_EXTRA_BYTES
wID
将此结构成员设置为 MPEGLAYER3_ID_MPEG。
fdwFlags
指示是否使用填充将平均比特率调整为采样率。 使用以下值之一:
值 | 含义 |
---|---|
|
根据需要插入填充以实现指定的平均比特率。 |
|
始终插入填充。 平均比特率可能高于说明。 |
|
从不插入填充。 平均比特率可能低于所述。 |
nBlockSize
块大小(以字节为单位)。 此值等于帧长度(以字节 x nFramesPerBlock 为单位)。 对于 MP3 音频,帧长度的计算方式如下:144 x (比特率/采样率) + 填充。
nFramesPerBlock
每个块的音频帧数。
nCodecDelay
示例中的编码器延迟。 如果不知道此值,请将此结构成员设置为零。
要求
标头 | mmreg.h |