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 结构的 dwDestination 和 dwSource 成员指定的源音频线的信息。 dwDestination 指定的索引范围从 0 到 1 小于 MIXERCAPS 结构的 cDestinations 成员中的值。 dwSource 指定的索引范围从零到 1,比为 dwDestination 成员中存储的音频行返回的 MIXERLINE 结构的 cConnections 成员中的值少一个。 除 cbStruct 之外的所有其余结构成员无需进一步初始化。 |
MIXER_GETLINEINFOF_TARGETTYPE | pmxl 参数将接收有关目标结构的 dwType 成员的音频线的信息,该成员是 MIXERLINE 结构的成员。 此标志用于检索有关处理目标类型 (的音频线的信息,例如 ,MIXERLINE_TARGETTYPE_WAVEOUT) 。 在调用 mixerGetLineInfo 之前,应用程序必须初始化 MIXERLINE 结构的 dwType、wMid、wPid、vDriverVersion 和 szPname 成员。 可以从所有媒体设备的设备功能结构中检索所有这些值。 除 cbStruct 外的其他结构成员不需要进一步初始化。
注意在 (mixerGetLineInfoA) 的 ANSI 版本中,在使用 MIXER_GETLINEINFOF_TARGETTYPE 标志调用 mixerGetLineInfo 或 waveOutGetDevCaps 时,不能使用从 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,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
音频线路引用无效。 |
|
hmxobj 参数指定无效的设备标识符。 |
|
一个或多个标志无效。 |
|
hmxobj 参数指定无效句柄。 |
|
一个或多个参数无效。 |
|
hmxobj 指定的对象没有可用的混音器设备。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmeapi.h (包括 Windows.h) |
Library | Winmm.lib |
DLL | Winmm.dll |