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

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

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

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

属性 描述
MF_MT_MAJOR_TYPE 主要类型。 必须是 MFMediaType_Audio
MF_MT_SUBTYPE 音频子类型。 有关详细信息,请参阅前面的说明。
MF_MT_AAC_AUDIO_PROFILE_LEVEL_INDICATION 音频配置文件和级别。
此属性的值是 ISO/IEC 14496-3 定义的 audioProfileLevelIndication 字段。
如果未知,则设置为零或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 结构(即 wfx 成员之后)之后出现的 WAVEATEX 结构部分)。 随后是 AudioSpecificConfig() 数据,由 ISO/IEC 14496-3 定义。
  • MEDIASUBTYPE_RAW_AAC1:包含 AudioSpecificConfig() 数据。

音频媒体类型

媒体类型属性

媒体基础 中的 MPEG-4 支持

IMFMediaType