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控件的每个通道的项目数。 对于多项目控件,此数字始终为 2 或更大。 如果该控件不是多项目控件,请不要使用此成员;它将为零。

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

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

Metrics.cbCustomData

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

Metrics.dwReserved[6]

保留值;请勿使用。

注解

注意

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

要求

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

另请参阅

音频混音器结构

音频混音器

MIXERLINECONTROLS

mixerGetLineControls