KSAUDIO_MIXCAP_TABLE结构 (ksmedia.h)

KSAUDIO_MIXCAP_TABLE结构指定超级混合器节点(KSNODETYPE_SUPERMIX)的混合功能。 此结构用于获取或设置 KSPROPERTY_AUDIO_MIX_LEVEL_CAPS 属性的数据值。

语法

typedef struct {
  ULONG            InputChannels;
  ULONG            OutputChannels;
  KSAUDIO_MIX_CAPS Capabilities[1];
} KSAUDIO_MIXCAP_TABLE, *PKSAUDIO_MIXCAP_TABLE;

成员

InputChannels

指定输入通道的数目。

OutputChannels

指定输出通道数。

Capabilities[1]

包含 KSAUDIO_MIX_CAPS 结构的二维数组中的第一个条目。 给定具有 m 输入通道和 n 输出通道的超级混合器节点,该数组包含 m* 元素。 每个元素描述从特定输入通道到特定输出通道的路径的混合级别功能。

言论

功能 表存储为二维数组:

KSAUDIO_MIX_CAPS Capabilities[M*N];

表是一个 M-by-N 矩阵,可将 M 输入通道映射到 N 输出通道。 下表显示了 功能 数组元素到超级混合器节点的 M*N 输入输出路径的映射。

Array 元素 输入输出路径
Capabilities[0] 输入通道 0 到输出通道 0
Capabilities[1] 输入通道 0 到输出通道 1
功能[N-1] 输入通道 0 到输出通道 N-1
Capabilities[N] 输入通道 1 到输出通道 0
功能[N+1] 输入通道 1 到输出通道 1
Capabilities[2N-1] 输入通道 1 到输出通道 N-1
功能[M*N-1] 输入通道 M-1 到输出通道 N-1

换句话说,输入通道 i 到输出通道 j 的路径的混音器上限包含在 功能[i * N + j]。 如果输入 i 中不存在路径以输出 j,请将矩阵元素(ij) 的 静音 成员设置为 TRUE

表的大小根据 KSPROPERTY_AUDIO_MIX_LEVEL_CAPS 获取属性请求检索的KSAUDIO_MIXCAP_TABLE结构计算。 如果结构的 InputChannelsOutputChannels 成员具有值 mn,则计算KSAUDIO_MIXCAP_TABLE结构以及KSAUDIO_MIX_CAPS数组所需的总存储量

sizeof(KSAUDIO_MIXCAP_TABLE) + (mn - 1sizeof(KSAUDIO_MIX_CAPS)

如果客户端发送初始KSPROPERTY_AUDIO_MIX_LEVEL_CAPS请求,其中属性大小指定为 2*sizeof(ULONG),微型端口驱动程序应仅填写KSAUDIO_MIXCAP_TABLE结构的前两个成员,InputChannelsOutputChannels。 然后,客户端可以发送第二个属性请求,其中分配了足够的存储来包含所有通道的功能。

要求

要求 价值
标头 ksmedia.h (包括 Ksmedia.h)

另请参阅

KSAUDIO_MIX_CAPS

KSNODETYPE_SUPERMIX

KSPROPERTY_AUDIO_MIX_LEVEL_CAPS

KSPROPERTY_AUDIO_MIX_LEVEL_TABLE