mixerGetLineInfoW 函数 (mmeapi.h)

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

语法

MMRESULT mixerGetLineInfoW(
  HMIXEROBJ    hmxobj,
  LPMIXERLINEW pmxl,
  DWORD        fdwInfo
);

parameters

hmxobj

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

pmxl

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

fdwInfo

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

含义
MIXER_GETLINEINFOF_COMPONENTTYPE pmxl 参数将接收有关 MIXERLINE 结构的 dwComponentType 成员中指定的类型的第一个音频行的信息。 此标志用于检索有关特定组件类型的音频线的信息。 除 cbStruct 外的其他结构成员不需要进一步初始化。
MIXER_GETLINEINFOF_DESTINATION pmxl 参数将接收由 MIXERLINE 结构的 dwDestination 成员指定的目标音频线的相关信息。 此索引的范围从 0 到 1 小于 MIXERCAPS 结构的 cDestinations 成员中的值。 除 cbStruct 之外的所有其余结构成员不需要进一步初始化。
MIXER_GETLINEINFOF_LINEID pmxl 参数将接收由 MIXERLINE 结构的 dwLineID 成员指定的音频线的相关信息。 这通常用于检索有关音频线状态的更新信息。 除 cbStruct 之外的所有其余结构成员不需要进一步初始化。
MIXER_GETLINEINFOF_SOURCE pmxl 参数将接收由 MIXERLINE 结构的 dwDestinationdwSource 成员指定的源音频线的相关信息。 dwDestination 指定的索引范围为 0 到比 MIXERCAPS 结构的 cDestinations 成员中的值少 1。 dwSource 指定的索引范围为 0 到 1,小于为 dwDestination 成员中存储的音频行返回的 MIXERLINE 结构的 cConnections 成员中的值。 除 cbStruct 之外的所有其余结构成员不需要进一步初始化。
MIXER_GETLINEINFOF_TARGETTYPE pmxl 参数将接收有关 Target 结构的 dwType 成员的音频线的信息,该成员是 MIXERLINE 结构的成员。 此标志用于检索有关处理目标类型 (的音频线的信息,例如 ,MIXERLINE_TARGETTYPE_WAVEOUT) 。 在调用 mixerGetLineInfo 之前,应用程序必须初始化 MIXERLINE 结构的 dwTypewMidwPidvDriverVersionszPname 成员。 可以从所有媒体设备的设备功能结构中检索所有这些值。 除 cbStruct 外的其他结构成员不需要进一步初始化。
注意在此函数的 ANSI 版本中, (mixerGetLineInfoA) ,在使用 MIXER_GETLINEINFOF_TARGETTYPE 标志调用 mixerGetLineInfo 时,不能将 mixerGetLineInfowaveOutGetDevCaps 返回的 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 设备句柄。 此标志是可选的。
MIXER_OBJECTF_HWAVEIN hmxobj 参数是由 waveInOpen 函数返回的波形音频输入句柄。
MIXER_OBJECTF_HWAVEOUT hmxobj 参数是由 waveOutOpen 函数返回的波形音频输出句柄。
MIXER_OBJECTF_MIDIIN hmxobj 参数是 MIDI 输入设备的标识符。 此标识符的范围必须为 0 到 1,小于 midiInGetNumDevs 函数返回的设备数。
MIXER_OBJECTF_MIDIOUT hmxobj 参数是 MIDI 输出设备的标识符。 此标识符的范围必须为 0 到 1,小于 midiOutGetNumDevs 函数返回的设备数。
MIXER_OBJECTF_MIXER hmxobj 参数是一个混音器设备标识符,范围为 0 到 1,小于 mixerGetNumDevs 函数返回的设备数。 此标志是可选的。
MIXER_OBJECTF_WAVEIN hmxobj 参数是波形音频输入设备的标识符,其范围为 0 到 1,小于 waveInGetNumDevs 函数返回的设备数。
MIXER_OBJECTF_WAVEOUT hmxobj 参数是波形音频输出设备的标识符,其范围为 0 到比 waveOutGetNumDevs 函数返回的设备数少 1。

返回值

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

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

注解

注意

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

要求

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

另请参阅

音频混音器函数

音频混音器