MIXERCONTROLA 结构 (mmeapi.h)

MIXERCONTROL 结构描述了音频线路的单个控件的状态和指标。

语法

typedef struct tagMIXERCONTROLA {
  DWORD cbStruct;
  DWORD dwControlID;
  DWORD dwControlType;
  DWORD fdwControl;
  DWORD cMultipleItems;
  CHAR  szShortName[MIXER_SHORT_NAME_CHARS];
  CHAR  szName[MIXER_LONG_NAME_CHARS];
  union {
    struct {
      LONG lMinimum;
      LONG lMaximum;
    } DUMMYSTRUCTNAME;
    struct {
      DWORD dwMinimum;
      DWORD dwMaximum;
    } DUMMYSTRUCTNAME2;
    DWORD dwReserved[6];
  } Bounds;
  union {
    DWORD cSteps;
    DWORD cbCustomData;
    DWORD dwReserved[6];
  } Metrics;
} MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA;

成员

cbStruct

MIXERCONTROL 结构的大小(以字节为单位)。

dwControlID

唯一引用 MIXERCONTROL 结构描述的控件的音频混音器定义标识符。 此标识符可以采用混音器设备支持的任何格式。 应用程序应仅将此标识符用作抽象句柄。 单个混音器设备的两个控件都不能具有相同的控制标识符。

dwControlType

dwControlID中指定的标识符的控件的类。 应用程序必须使用此信息来显示用户输入的相应控件。 应用程序还可以基于控件类显示定制的图形,或在特定行上搜索特定控件类。 如果应用程序不知道控件类,则必须忽略此控件。 有八个控件类分类,每个分类有一个或多个标准控件类型:

名字 描述
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_FADER
MIXERCONTROL_CONTROLTYPE_BASS MIXERCONTROL_CONTROLTYPE_EQUALIZER MIXERCONTROL_CONTROLTYPE_FADER MIXERCONTROL_CONTROLTYPE_TREBLE MIXERCONTROL_CONTROLTYPE_VOLUME
MIXERCONTROL_CT_CLASS_LIST
MIXERCONTROL_CONTROLTYPE_MIXER MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT MIXERCONTROL_CONTROLTYPE_MUX MIXERCONTROL_CONTROLTYPE_SINGLESELECT
MIXERCONTROL_CT_CLASS_METER
MIXERCONTROL_CONTROLTYPE_BOOLEANMETER MIXERCONTROL_CONTROLTYPE_PEAKMETER MIXERCONTROL_CONTROLTYPE_SIGNEDMETER MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER
MIXERCONTROL_CT_CLASS_NUMBER
MIXERCONTROL_CONTROLTYPE_DECIBELS MIXERCONTROL_CONTROLTYPE_PERCENT MIXERCONTROL_CONTROLTYPE_SIGNED MIXERCONTROL_CONTROLTYPE_UNSIGNED
MIXERCONTROL_CT_CLASS_SLIDER
MIXERCONTROL_CONTROLTYPE_PAN MIXERCONTROL_CONTROLTYPE_QSOUNDPAN MIXERCONTROL_CONTROLTYPE_SLIDER
MIXERCONTROL_CT_CLASS_SWITCH
MIXERCONTROL_CONTROLTYPE_BOOLEAN MIXERCONTROL_CONTROLTYPE_BUTTON MIXERCONTROL_CONTROLTYPE_LOUDNESS MIXERCONTROL_CONTROLTYPE_MONO MIXERCONTROL_CONTROLTYPE_MUTE MIXERCONTROL_CONTROLTYPE_ONOFF MIXERCONTROL_CONTROLTYPE_STEREOENH
MIXERCONTROL_CT_CLASS_TIME
MIXERCONTROL_CONTROLTYPE_MICROTIME MIXERCONTROL_CONTROLTYPE_MILLITIME

fdwControl

音频线路控件的状态和支持标志。 定义了以下值:

名字 描述
MIXERCONTROL_CONTROLF_DISABLED
控件已禁用,可能是由于混音器硬件的其他设置,不能使用。 应用程序可以从禁用的控件读取当前设置,但无法应用设置。
MIXERCONTROL_CONTROLF_MULTIPLE
该控件每个通道有两个或多个设置。 例如,均衡器需要此标志,因为每个频率带都可以设置为不同的值。 以统一方式影响立体声线的两个通道的均衡器也将指定MIXERCONTROL_CONTROLF_UNIFORM标志。
MIXERCONTROL_CONTROLF_UNIFORM
该控件以统一的方式处理多通道线的所有通道。 例如,将立体声线的两个通道静音的控件将设置此标志。 大多数MIXERCONTROL_CONTROLTYPE_MUX和MIXERCONTROL_CONTROLTYPE_MIXER控件还指定MIXERCONTROL_CONTROLF_UNIFORM标志。

cMultipleItems

构成MIXERCONTROL_CONTROLF_MULTIPLE控件的每个通道的项数。 对于多项控件,此数字始终为两个或更大。 如果控件不是多项控件,请不要使用此成员;它将为零。

szShortName[MIXER_SHORT_NAME_CHARS]

描述由 dwControlID指定的音频线路控件的短字符串。 此说明应适合用作控件的简明标签。

szName[MIXER_LONG_NAME_CHARS]

描述由 dwControlID指定的 音频行控件的字符串。 此说明应适合用作控件的完整说明。

Bounds

边界类型的联合。

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

具有有符号边界性质的控件的最小有符号值。 此成员不能与 dwMinimum结合使用。

Bounds.DUMMYSTRUCTNAME.lMaximum

具有有符号边界性质的控件的最大有符号值。 此成员不能与 dwMaximum结合使用。

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

具有无符号边界性质的控件的最小无符号值。 此成员不能与 lMinimum结合使用。

Bounds.DUMMYSTRUCTNAME2.dwMaximum

具有无符号边界性质的控件的最大无符号值。 此成员不能与 lMaximum结合使用。

Bounds.dwReserved[6]

保留;请勿使用。

Metrics

边界指标的联合。

Metrics.cSteps

为由 边界 成员指定的控件的联合中指定的离散范围数。 此成员与 指标 结构成员的其他成员重叠,不能与这些成员一起使用。

Metrics.cbCustomData

包含自定义控件类的状态所需的大小(以字节为单位)。 此成员仅适用于MIXERCONTROL_CONTROLTYPE_CUSTOM控件类。

Metrics.dwReserved[6]

保留;请勿使用。

言论

注意

mmeapi.h 标头将 MIXERCONTROL 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 mmeapi.h

另请参阅

音频混音器结构

音频混音器

MIXERLINECONTROLS

mixerGetLineControls