MP3 音频编码器

Microsoft Media Foundation MP3 音频编码器是媒体 基础转换 (MFT) ,对 MPEG-1 第 3 层 (MP3) 音频进行编码。

类标识符

MP3 编码器的 CLSID) (类标识符 CLSID_MP3ACMCodecWrapper,在头文件 wmcodecdsp.h 中定义。

媒体类型

MP3 编码器支持以下媒体类型。 输出类型必须在输入类型之前设置。

输出类型

在输出媒体类型上设置以下属性。

Attribute 说明 备注
MF_MT_MAJOR_TYPE 主要类型。 必须 MFMediaType_Audio
MF_MT_SUBTYPE 音频子类型。 必须 MFAudioFormat_MP3
MF_MT_AUDIO_AVG_BYTES_PER_SECOND 编码的 MP3 流的比特率(以字节/秒为单位)。 编码器支持标准 (32、40、48、56、64、80、96、112、128、160、192、224、256 或 320 Kbps) 定义的所有比特率。
单声道的默认比特率为 128 Kbps,立体声的默认比特率为 320 Kbps。
使用此属性可以指定编码的比特率。
MF_MT_AUDIO_NUM_CHANNELS 通道数。 支持以下值:
  • 1(单音)
  • 2 (立体声)
MF_MT_AUDIO_SAMPLES_PER_SECOND 每秒样本数。 支持以下值:
  • 48000 (48 KHz)
  • 44100 (44.1 KHz)
  • 32000 (32 KHz)
MF_MT_USER_DATA 其他编解码器数据。 此属性包含该结构的 wfx 成员后面的 MPEGLAYER3WAVEFORMAT 结构的 12 个字节。

 

或者,可以填充 MPEGLAYER3WAVEFORMAT 结构并调用 MFInitMediaTypeFromWaveFormatEx 将结构转换为 Media Foundation 媒体类型。

输入类型

在输入媒体类型上设置以下属性。

Attribute 说明 备注
MF_MT_MAJOR_TYPE 主要类型。 必须 MFMediaType_Audio
MF_MT_SUBTYPE 亚。 必须 MFAudioFormat_PCM
MF_MT_AUDIO_BITS_PER_SAMPLE 每个样本的位数。 必须为 16。
MF_MT_AUDIO_SAMPLES_PER_SECOND 每秒样本数。 必须与输出类型匹配。
MF_MT_AUDIO_NUM_CHANNELS 通道数。 必须与输出类型匹配。

 

编码器仅支持 16 位整数 PCM 输入。 它不支持 32 位浮点输入。

媒体格式

MPEG-1 和 MPEG-2 标准定义了 252 层 3 音频格式。 MP3 编码器支持 标准,但有一些例外,以及一些其他格式,如下所述。 第 3 层定义为:

要求
声道 单声道或立体声
MPEG-1 采样率(以 kHz 为单位) 44.1, 48, 32
MPEG-1 编码的比特率(以 kbps 为单位) 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
MPEG-2 采样率(以 kHz 为单位) 8, 11.025, 12, 16, 22.05, 24
MPEG-2 编码的比特率(以 kbps 为单位) 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 144, 160

 

MP3 编码器还支持以下格式。

采样率 比特率 通道编号
8000 18000, 20000 2
11025 18000, 20000 1 或 2
12000 18000, 20000 1 或 2
16000 18000, 20000 1
32000 144000 1 或 2
44100 144000 1 或 2
48000 144000 1 或 2

 

MP3 编码器不支持标准定义的以下格式。

采样率 比特率 通道编号
12000 80000, 96000, 112000, 128000, 144000, 160000 1 或 2
11025 80000, 96000, 112000, 128000, 144000, 160000 1 或 2
8000 80000, 96000, 112000, 128000, 144000, 160000 1 或 2
8000 8000, 11025, 12000, 16000, 22050, 24000 2

 

要求

要求
最低受支持的客户端
Windows 8 [仅限桌面应用]
最低受支持的服务器
Windows Server 2012 [仅限桌面应用]

另请参阅

编解码器对象