mixerGetLineControls 函数 (mmeapi.h)

mixerGetLineControls 函数检索与音频线关联的一个或多个控件。

语法

MMRESULT mixerGetLineControls(
  HMIXEROBJ           hmxobj,
  LPMIXERLINECONTROLS pmxlc,
  DWORD               fdwControls
);

parameters

hmxobj

正在查询的 mixer 设备对象的句柄。

pmxlc

指向 MIXERLINECONTROLS 结构的指针。 此结构用于引用一个或多个 MIXERCONTROL 结构,以填充有关与音频线关联的控件的信息。 MIXERLINECONTROLS 结构的 cbStruct 成员必须始终初始化为 MIXERLINECONTROLS 结构的大小(以字节为单位)。

fdwControls

用于检索与音频行关联的一个或多个控件的信息的标志。 定义了以下值。

含义
MIXER_GETLINECONTROLSF_ALL pmxlc 参数引用 MIXERCONTROL 结构的列表,这些结构将接收与 MIXERLINECONTROLS 结构的 dwLineID 成员标识的音频线关联的所有控件的信息。 cControls 成员必须初始化为与行关联的控件数。 此数字是从 mixerGetLineInfo 函数返回的 MIXERLINE 结构的 cControls 成员检索的。 cbmxctrl 成员必须初始化为单个 MIXERCONTROL 结构的大小(以字节为单位)。 pamxctrl 成员必须指向要填充的第一个 MIXERCONTROL 结构。 对于此查询, 将忽略 dwControlIDdwControlType 成员。
MIXER_GETLINECONTROLSF_ONEBYID pmxlc 参数引用单个 MIXERCONTROL 结构,该结构将接收有关由 MIXERLINECONTROLS 结构的 dwControlID 成员标识的控件的信息。 cControls 成员必须初始化为 1。 cbmxctrl 成员必须初始化为单个 MIXERCONTROL 结构的大小(以字节为单位)。 pamxctrl 成员必须指向要填充的 MIXERCONTROL 结构。 对于此查询, 将忽略 dwLineIDdwControlType 成员。 此查询通常用于在收到用户定义的回调 MM_MIXM_CONTROL_CHANGE 控件更改通知消息后刷新控件, (请参阅 mixerOpen) 。
MIXER_GETLINECONTROLSF_ONEBYTYPE mixerGetLineControls 函数检索有关正在查询的音频线的特定类的第一个控件的信息。 pmxlc 参数引用单个 MIXERCONTROL 结构,该结构将接收有关特定控件的信息。 音频行由 dwLineID 成员标识。 控件类在 MIXERLINECONTROLS 结构的 dwControlType 成员中指定。对于此查询,将忽略 dwControlID 成员。 应用程序可以使用此查询来获取与行关联的单个控件的信息。 例如,你可能希望应用程序仅从波形音频输出线使用峰值计量。
MIXER_OBJECTF_AUX hmxobj 参数是一个辅助设备标识符,其范围为 0 到 1,比 auxGetNumDevs 函数返回的设备数少一个。
MIXER_OBJECTF_HMIDIIN hmxobj 参数是 MIDI 输入设备的句柄。 此句柄必须由 midiInOpen 函数返回。
MIXER_OBJECTF_HMIDIOUT hmxobj 参数是 MIDI 输出设备的句柄。 此句柄必须由 midiOutOpen 函数返回。
MIXER_OBJECTF_HMIXER hmxobj 参数是由 mixerOpen 函数返回的混音器设备句柄。 此标志是可选的。
MIXER_OBJECTF_HWAVEIN hmxobj 参数是由 waveInOpen 函数返回的波形音频输入句柄。
MIXER_OBJECTF_HWAVEOUT hmxobj 参数是由 waveOutOpen 函数返回的波形音频输出句柄。
MIXER_OBJECTF_MIDIIN hmxobj 参数是 MIDI 输入设备的标识符。 此标识符的范围必须小于 midiInGetNumDevs 函数返回的设备数 0 到 1。
MIXER_OBJECTF_MIDIOUT hmxobj 参数是 MIDI 输出设备的标识符。 此标识符的范围必须小于 midiOutGetNumDevs 函数返回的设备数 0 到 1。
MIXER_OBJECTF_MIXER hmxobj 参数是混音器设备的标识符,其范围为 0 到 1,比 mixerGetNumDevs 函数返回的设备数少。 此标志是可选的。
MIXER_OBJECTF_WAVEIN hmxobj 参数是波形音频输入设备的标识符,其范围为 0 到 1,小于 waveInGetNumDevs 函数返回的设备数。
MIXER_OBJECTF_WAVEOUT hmxobj 参数是波形音频输出设备的标识符,其范围为 0 到 1,比 waveOutGetNumDevs 函数返回的设备数少一个。

返回值

如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括以下内容。

返回代码 说明
MIXERR_INVALCONTROL
控件引用无效。
MIXERR_INVALLINE
音频线路引用无效。
MMSYSERR_BADDEVICEID
hmxobj 参数指定无效的设备标识符。
MMSYSERR_INVALFLAG
一个或多个标志无效。
MMSYSERR_INVALHANDLE
hmxobj 参数指定无效句柄。
MMSYSERR_INVALPARAM
一个或多个参数无效。
MMSYSERR_NODRIVER
hmxobj 指定的对象没有可用的混音器设备。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mmeapi.h (包括 Windows.h)
Library Winmm.lib
DLL Winmm.dll

另请参阅

音频混音器函数

音频混音器