HEAACWAVEINFO 结构 (mmreg.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

包含高级音频编码 (AAC) 或 High-Efficiency 高级音频编码 (HE-AAC) 流的格式数据。

语法

typedef struct heaacwaveinfo_tag {
  WAVEFORMATEX wfx;
  WORD         wPayloadType;
  WORD         wAudioProfileLevelIndication;
  WORD         wStructType;
  WORD         wReserved1;
  DWORD        dwReserved2;
} HEAACWAVEINFO;

成员

wfx

描述核心 AAC 流的 WAVEFORMATEX 结构,没有 SBR 或 PS 扩展。 请参阅“备注”。

wPayloadType

有效负载类型。

含义
0
流仅包含raw_data_block元素。
1
音频数据传输Stream (ADTS) 。 流包含由 MPEG-2 定义的adts_sequence。
2
音频数据交换格式 (ADIF) 。 流包含由 MPEG-2 定义的adif_sequence。
3
该流包含一个 MPEG-4 音频传输流,其同步层 (LOAS) 和一个多路复用层 (LATM) 。

wAudioProfileLevelIndication

包含由 ISO/IEC 14496-3 (MPEG-4 音频) 定义的 audioProfileLevelIndication 字段的值。 如果该值未知,请将此成员设置为零或0xFE (“未指定音频配置文件”) 。

wStructType

定义此结构后面的数据。 目前定义了以下值。

含义
0
HEAACWAVEINFO 结构后面的数据包含 ISO/IEC 14496-3 定义的 AudioSpecificConfig () 值。

数据的大小为 wfx.cbSize - sizeof(HEAACWAVEINFO) + sizeof(WAVEFORMATEX)。 如果大小大于零,可以通过将 HEAACWAVEINFO 结构强制转换为 HEAACWAVEFORMAT 结构来访问数据。

 

此成员的所有其他值都保留。

wReserved1

保留。 设置为零。

dwReserved2

保留。 设置为零。

注解

此格式结构用于描述 MPEG-2 AAC 和 MPEG-4 HE-AAC 流,包括 HE-AAC 版本 1 和 HE-AAC 版本 2。

wfx 成员中定义的 WAVEFORMATEX 结构包含以下值。

成员 说明
wFormatTag 必须 WAVE_FORMAT_MPEG_HEAAC (0x1610) 。
nChannels 核心 AAC 流中的通道数,包括低频 (LFE) 通道(如果存在)。 如果使用参数立体声 (PS) ,该值可能与解码流中的通道数不同。 如果未知,则设置为零。
nSamplesPerSec 核心 AAC 流的采样率。 该值必须是 MPEG-2 中定义的 8000 到 96000 Hz 的支持采样率之一。 如果使用光谱带复制 (SBR) ,则该值可能与解码流的采样率不同。 如果未知,则设置为零。
nAvgBytesPerSec 每秒平均字节数,根据压缩流的平均比特率计算得出。 如果未知,则设置为零。
nBlockAlign 设置为 1。
wBitsPerSample 解码的 PCM 音频流中每个样本的所需位数。 如果未知,则设置为零。
cbSize 指定 在 WAVEFORMATEX 结构之后的格式数据的大小(以字节为单位)。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 mmreg.h