MIXERCONTROL 结构 (mmeapi.h)

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

语法

typedef struct tMIXERCONTROL {
  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;
} MIXERCONTROL, *PMIXERCONTROL, *LPMIXERCONTROL;

成员

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]

保留值;请勿使用。

要求

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

另请参阅

音频混音器结构

音频混音器

MIXERLINECONTROLS

mixerGetLineControls