mixerGetLineInfo 函数 (mmeapi.h)

mixerGetLineInfo 函数检索有关混音器设备的特定行的信息。

语法

MMRESULT mixerGetLineInfo(
  HMIXEROBJ   hmxobj,
  LPMIXERLINE pmxl,
  DWORD       fdwInfo
);

参数

hmxobj

控制特定音频线的混音器设备对象的句柄。

pmxl

指向 MIXERLINE 结构的指针。 此结构中填充了有关混音器设备的音频线的信息。 cbStruct 成员必须始终初始化为 MIXERLINE 结构的大小(以字节为单位)。

fdwInfo

用于检索有关音频线的信息的标志。 定义了以下值。

含义
MIXER_GETLINEINFOF_COMPONENTTYPE pmxl 参数将接收有关 MIXERLINE 结构的 dwComponentType 成员中指定的类型的第一个音频线的信息。 此标志用于检索有关特定组件类型的音频线的信息。 除 cbStruct 外的其他结构成员不需要进一步初始化。
MIXER_GETLINEINFOF_DESTINATION pmxl 参数将接收有关由 MIXERLINE 结构的 dwDestination 成员指定的目标音频线的信息。 此索引的范围从零到 1 小于 MIXERCAPS 结构的 cDestinations 成员中的值。 除 cbStruct 之外的所有其余结构成员无需进一步初始化。
MIXER_GETLINEINFOF_LINEID pmxl 参数将接收有关 MIXERLINE 结构的 dwLineID 成员指定的音频线的信息。 这通常用于检索有关音频线路状态的更新信息。 除 cbStruct 之外的所有其余结构成员无需进一步初始化。
MIXER_GETLINEINFOF_SOURCE pmxl 参数将接收有关由 MIXERLINE 结构的 dwDestinationdwSource 成员指定的源音频线的信息。 dwDestination 指定的索引范围从 0 到 1 小于 MIXERCAPS 结构的 cDestinations 成员中的值。 dwSource 指定的索引范围从零到 1,比为 dwDestination 成员中存储的音频行返回的 MIXERLINE 结构的 cConnections 成员中的值少一个。 除 cbStruct 之外的所有其余结构成员无需进一步初始化。
MIXER_GETLINEINFOF_TARGETTYPE pmxl 参数将接收有关目标结构的 dwType 成员的音频线的信息,该成员是 MIXERLINE 结构的成员。 此标志用于检索有关处理目标类型 (的音频线的信息,例如 ,MIXERLINE_TARGETTYPE_WAVEOUT) 。 在调用 mixerGetLineInfo 之前,应用程序必须初始化 MIXERLINE 结构的 dwTypewMidwPidvDriverVersionszPname 成员。 可以从所有媒体设备的设备功能结构中检索所有这些值。 除 cbStruct 外的其他结构成员不需要进一步初始化。
注意在 (mixerGetLineInfoA) 的 ANSI 版本中,在使用 MIXER_GETLINEINFOF_TARGETTYPE 标志调用 mixerGetLineInfowaveOutGetDevCaps 时,不能使用从 mixerGetLineInfo 或 waveOutGetDevCaps 返回的 ANSI 字符串作为 psPname 字符串的值。 原因是执行与 Unicode 的内部转换,这可能会导致数据丢失。
 
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_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

另请参阅

音频混音器函数

音频混音器