AAC 媒体类型

本主题介绍如何在 Media Foundation 中指定高级音频编码 (AAC) 流的格式。

为 AAC 音频定义了两个子类型:

子类型 说明 标头
MFAudioFormat_AAC 原始 AAC 或 ADTS AAC。 mfapi.h
MEDIASUBTYPE_RAW_AAC1 原始 AAC。 wmcodecdsp.h

MFAudioFormat_AAC

对于此子类型,媒体类型在应用光谱带复制之前提供采样率和通道数, (SBR) 和参数立体声 (PS) 工具(如果存在)。 SBR 工具的效果是将解码的采样率相对于核心 AAC-LC 采样率翻倍。 PS 工具的作用是解码单声道核心 AAC-LC 流中的立体声。

此子类型等效于 wmcodecdsp.h 中定义的 MEDIASUBTYPE_MPEG_HEAAC。 请参阅 音频子类型 GUID

MEDIASUBTYPE_RAW_AAC1

此子类型用于包含在音频格式标记等于 WAVE_FORMAT_RAW_AAC1 (0x00FF) 的 AVI 文件中的 AAC。

对于此子类型,媒体类型在应用 SBR 和 PS 工具后提供采样率和通道数(如果存在)。

以下媒体类型属性适用于 AAC 音频。

Attribute 说明
MF_MT_MAJOR_TYPE 主要类型。 必须 MFMediaType_Audio
MF_MT_SUBTYPE 音频子类型。 有关详细信息,请参阅前面的说明。
MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION 音频配置文件和级别。
此属性的值是 audioProfileLevelIndication 字段,由 ISO/IEC 14496-3 定义。
如果未知,则设置为零或0xFE (“未指定音频配置文件”) 。
MF_MT_AUDIO_AVG_BYTES_PER_SECOND 编码的 AAC 流的比特率(以每秒字节为单位)。
MF_MT_AAC_PAYLOAD_TYPE 负载类型。
仅适用于 MFAudioFormat_AAC
MF_MT_AAC_PAYLOAD_TYPE 是可选的。 如果未指定此属性,则使用默认值 0,该值指定流仅包含raw_data_block元素。
MF_MT_AUDIO_BITS_PER_SAMPLE 解码的 PCM 音频的位深度。
MF_MT_AUDIO_CHANNEL_MASK 将音频通道分配给扬声器位置。
MF_MT_AUDIO_NUM_CHANNELS 通道数,包括低频 (LFE) 通道(如果存在)。
此值的解释取决于媒体子类型,如前所述。
MF_MT_AUDIO_SAMPLES_PER_SECOND 采样率,以每秒样本数为单位。
此值的解释取决于媒体子类型,如前所述。
MF_MT_USER_DATA 此属性的值取决于子类型:
  • MFAudioFormat_AAC:包含 HEAACWAVEINFO 结构的部分,该部分显示在 WAVEFORMATEX 结构 (,即 wfx 成员) 之后。 这后跟由 ISO/IEC 14496-3 定义的 AudioSpecificConfig () 数据。
  • MEDIASUBTYPE_RAW_AAC1:包含 AudioSpecificConfig () 数据。

音频媒体类型

媒体类型属性

Media Foundation 中的 MPEG-4 支持

IMFMediaType